topコマンドでソート対象のフィールドを指定する

オプション指定無しでtopコマンドを実行すると、デフォルトではCPU使用率の順にソートして表示されますが、「-o」オプションをつけて起動することでソート対象のフィールドを指定できます。topコマンドをバッチモードで使う場合に便利と思います。

例：メモリ使用率順にソートする場合

```
top -o %MEM
```

以下のように%MEM順にソートされます。


```
Tasks: 210 total,   1 running, 171 sleeping,   0 stopped,   0 zombie                                                                                                                       
%Cpu(s):  2.7 us,  0.3 sy,  0.0 ni, 96.6 id,  0.3 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  4039536 total,  1183360 free,  2190004 used,   666172 buff/cache
KiB Swap: 14527484 total, 13713808 free,   813676 used.  1438444 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                
12126 user      20   0 98.918g 428152  36836 S   0.0 10.6   2:19.01 atril                                                                                                                  
25865 user      20   0 2775360 427404 100140 S   2.3 10.6  47:19.20 firefox                                                                                                                
24208 user      20   0 2230880 322420 123776 S   0.3  8.0  20:37.64 Web Content                                                                                                            
 8694 user      20   0 98.785g 309016  51360 S   0.0  7.6  18:54.56 atril                                                                                                                  
 4900 root      20   0  960500 260684  97384 S   2.0  6.5 275:41.11 Xorg                                                                                                                   
16423 user      20   0 2348616 245244  45128 S   0.0  6.1  24:23.84 thunderbird                                                                                                            
25976 user      20   0 2281176 220976  52324 S   0.3  5.5  23:24.06 Web Content                                                                                                            
25995 user      20   0 1579052  72108  20492 S   0.3  1.8   4:54.99 WebExtensions                                                                                                          
 9189 user      20   0  759192  28196  11668 S   1.3  0.7  26:45.93 xfce4-terminal                                                                                                         
 2868 user      20   0  231816  26080   5824 S   0.0  0.6  11:02.18 vi 
```

%MEM以外のフィールドも指定できます。
例：共有メモリ使用量(SHR)でソートの場合

```
 top -o SHR
```

```
top - 09:15:50 up 4 days,  1:38,  1 user,  load average: 1.10, 0.77, 0.74
Tasks: 210 total,   1 running, 173 sleeping,   0 stopped,   0 zombie
%Cpu(s): 10.6 us,  1.8 sy,  0.0 ni, 86.0 id,  1.5 wa,  0.0 hi,  0.1 si,  0.0 st
KiB Mem :  4039536 total,   510608 free,  2338452 used,  1190476 buff/cache
KiB Swap: 14527484 total, 13720976 free,   806508 used.  1266000 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                
24208 user      20   0 2269996 400080 123740 S   6.2  9.9  23:54.37 Web Content                                                                                                            
 4900 root      20   0  963524 267924  97528 S  18.8  6.6 277:57.48 Xorg                                                                                                                   
25865 user      20   0 2805240 448440  94776 S   0.0 11.1  51:05.79 firefox                                                                                                                
25976 user      20   0 2300212 242956  68232 S   0.0  6.0  23:49.36 Web Content                                                                                                            
16423 user      20   0 2348616 277116  53688 S   0.0  6.9  24:29.63 thunderbird                                                                                                            
 8694 user      20   0 98.785g 309016  51360 S   0.0  7.6  18:54.81 atril                                                                                                                  
12126 user      20   0 98.918g 428152  36836 S   0.0 10.6   2:19.29 atril                                                                                                                  
25995 user      20   0 1581100  73760  20492 S   0.0  1.8   4:59.67 WebExtensions                                                                                                          
16403 root      19  -1  141268  21828  20324 S   0.0  0.5   0:03.50 systemd-journal   
```

また、-oオプションでフィールド名の前に「+」をつけると降順、「-」をつけると昇順でソートされます。
メモリやCPUの使用率を見たい場合は通常大きい方から表示するので「-」はあまり使う機会は無いと思いますが、プロセス優先度(PR)等と組み合わせると便利かもしれません。

```
top -o -PR
```

リアルタイムスレッドが上位に表示されます。

```
top - 09:05:59 up 4 days,  1:28,  1 user,  load average: 0.43, 0.68, 0.77
Tasks: 216 total,   1 running, 174 sleeping,   0 stopped,   0 zombie
%Cpu(s): 10.5 us,  1.8 sy,  0.0 ni, 86.0 id,  1.5 wa,  0.0 hi,  0.1 si,  0.0 st
KiB Mem :  4039536 total,   475516 free,  2420512 used,  1143508 buff/cache
KiB Swap: 14527484 total, 13720976 free,   806508 used.  1216384 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                
   10 root      rt   0       0      0      0 S   0.0  0.0   0:00.74 migration/0                                                                                                            
   11 root      rt   0       0      0      0 S   0.0  0.0   0:01.97 watchdog/0                                                                                                             
   14 root      rt   0       0      0      0 S   0.0  0.0   0:01.86 watchdog/1                                                                                                             
   15 root      rt   0       0      0      0 S   0.0  0.0   0:00.69 migration/1                                                                                                            
    4 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 kworker/0:0H                                                                                                           
    6 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 mm_percpu_wq                                                                                                           
   18 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 kworker/1:0H                                                                                                           
   20 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 netns                                                                                                                  
   26 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 writeback                                                                                                              
   30 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 crypto 
```