Start top with particular sorting

top

I'd like to start top with sorting set to resident memory size, instead of the default CPU usage.

I don't see a way to do that from command line arguments or startup file. Obviously I can't echo "Oq" | top either since I'd prevent top from using the tty.

Is there a way to do this?

Update: I run top on Linux (recent Ubuntu and Debian, 3.x kernels), installed e.g. as 'procps 1:3.2.8-11ubun', though I suppose that the column ordering functionality might be pretty cross-platform.

Best Answer

top -M sorts by resident memory usage.

M sort tasks by resident memory usage.

This is the version of top on my system.

top -v top: procps version 3.2.7

If your Linux distribution supports the -M flag, you could use it as mentioned here.

However, if your top doesn't support the -M flag, you could launch your top command and get into the interactive mode by typing h to check the sort field. (I assume it is the same across various distributions)

In my system (rather the top version of my system), I could type F or O to select the sorting field and key Q of my top version lets me sort on resident memory.

If you want to save your configuration you could do something as mentioned by slm here.

Saving configuration

You can use the Shift+W to save your changes so they're the defaults:

  W         Write configuration file

The file is stored here, $HOME/.toprc, and looks like this:

$ more .toprc 
RCfile for "top with windows"       # shameless braggin'
Id:a, Mode_altscr=0, Mode_irixps=1, Delay_time=1.000, Curwin=2
Def fieldscur=AEHIoqTWKNMBcdfgjpLrsuvyzX
    winflags=129016, sortindx=19, maxtasks=0
    summclr=2, msgsclr=5, headclr=7, taskclr=7
Job fieldscur=ABcefgjlrstuvyzMKNHIWOPQDX
    winflags=63416, sortindx=13, maxtasks=0
    summclr=6, msgsclr=6, headclr=7, taskclr=6
Mem fieldscur=ANOPQRSTUVbcdefgjlmyzWHIKX
    winflags=65464, sortindx=13, maxtasks=0
    summclr=5, msgsclr=5, headclr=4, taskclr=5
Usr fieldscur=ABDECGfhijlopqrstuvyzMKNWX
    winflags=65464, sortindx=12, maxtasks=0
    summclr=3, msgsclr=3, headclr=2, taskclr=7

See section 5 of the man page for more details, "5. FILES".

Related Question