On Apr 4, 2017, at 02:44, Barrie Stott wrote:

> A couple of weeks ago I had a bit of spare time so I looked at the inability 
> of my iMac to put itself to sleep: something that has caused mild irritation 
> from time to time. Cutting a long story short it eventually involved someone 
> from Apple Care being involved. He said that I did not have the latest OS and 
> that might be a cause. Macports was not in my mind at the time and at his 
> suggestion I upgraded to Sierra from El Capitan.
> 
> Some days later I realised that I needed to upgrade Macports and should 
> probably have done it as part of my upgrade to Sierra. (By that time I had 
> probably used several ports that were still set up for El Capitan.) I 
> followed the Migration procedure instructions in the Migration document up to 
> and including 3e, the last part of which caused a log of what was happening 
> to fly past on the screen for quite some time. The procedure stopped and by 
> that time it had installed 22 ports, none of which was on my requested list. 
> Error files to view were mentioned in the log but none meant anything useful 
> to me.
> 
> I have some questions:
> 
> 1. After loading Sierra I noticed that the m/c was slower. Looking at a file 
> to display a dozen or so lines in an already open Chrome browser caused a 
> pause of several seconds. Bigger but not massive files would cause Chrome to 
> ask if it should continue to wait for the file to load or abort the attempt 
> for now. Could this be a sign of insufficient memory and, if so, how would I 
> find this out?

I upgraded an older iMac with a hard drive to Sierra yesterday. It was fairly 
slow right after the update, but I blame that on the Spotlight index being 
regenerated in the background and a new Time Machine backup being completed. 
Once those were done, it returned to a more normal operating speed. It still 
felt slow to me, but that's probably because I'm used to using a newer Mac with 
an SSD. Upgrading the iMac's hard drive to an SSD would surely help.

If you think you have so many programs running simultaneously that you are 
running out of memory, you can open Activity Monitor and check its Memory 
section. In the box at the bottom of the window, the amount of Memory Used plus 
Cached Files should equal (or at least not exceed) the amount of Physical 
Memory. The more Memory Used by active programs, the less memory can be used 
for Cached Files, and the more often the computer will instead have to read 
files from your disk, which is slow compared with reading from memory, even if 
you have an SSD. The amount of Swap Used should be small compared to your 
Physical Memory.

The Memory Pressure graph on the left sums up your memory situation, and if the 
graph is green, you're probably fine. If the graph is going yellow or red, you 
should run fewer programs simultaneously, or install more physical memory.

Things can also slow down if your disk is getting full. macOS is happier when 
at least 10% of your disk is empty.


> 2. I would like to be able to take a requested port and find the tree of 
> ports that would need to be installed before this port. Does some recursive 
> way exist to find this out or must I do each step by hand? I presume I must 
> take account of both build and library dependencies.

To find the recursive dependencies of SOMEPORT, run:

port rdeps SOMEPORT

For example:

$ port rdeps glib2
The following ports are dependencies of glib2 @2.50.3_0:
  xz
    libiconv
      gperf
    gettext
      expat
      ncurses
  libxml2
    zlib
  libffi
  pcre
    bzip2
    libedit

If you want a visual representation using Graphviz, we have two scripts:

https://github.com/macports/macports-contrib/tree/master/port-depgraph

port-depgraph is the original; port_deptree.py was written later by someone who 
probably didn't know we already had one; not sure how the two differ in terms 
of functionality.


Reply via email to