GNU/Linux >> Linux Esercitazione >  >> Linux

È possibile formattare l'output RSS (memoria) di ps in modo che sia più adatto all'uomo?

ps ux | numfmt --header --to=iec --field 5,6 --padding 6

Hai bisogno di coreutils>=8.25

Personalmente preferisco questo:

ps -eo pmem,comm,pid,maj_flt,min_flt,rss,vsz --sort -rss | numfmt --header --to=iec --field 4-5 | numfmt --header --from-unit=1024 --to=iec --field 6-7 | column -t | head

Sembra che non ci sia un flag appropriato in ps , quindi devi utilizzare uno strumento diverso (personalmente preferisco htop ) o pasticciare con ps uscita un po'. Immagino tu voglia restare con ps .Ecco un piccolo script sporco che ho creato come esempio:

# get terminal width
WIDTH=`tput cols`
# pipe stdin to awk
cat | \
awk '\
BEGIN {
    # set output format
    CONVFMT="%.2f"
}
NR==1 {
    # search first line for columns that need to be converted from K to M
    for (i=1;i<=NF;i++) 
        # add condition for new columns if you want
        if ($i=="VSZ" || $i=="RSS") {
            # column numbers are stored in an array
            arr[i]=i; 
            $i = $i "(MB)"
        }
}
NR > 1 {
    # edit appropriate columns
    for (i in arr)
        $i=$i/1024; 
}
{
    # print every line
    print $0
}' | \
# format the output into columns and trim it to terminal width
column -t | cut -c 1-$WIDTH

Salvalo in un file, ad esempio prettyps.sh , rendilo eseguibile:

chmod +x prettyps.sh

e utilizzare come segue:

ps ux | /path/to/prettyps.sh

L'uso di questo script ha lo svantaggio di aggiungere ulteriori processi all'output di ps, ma comunque funziona:

$ ps ux | ./prettyps.sh
USER  PID   %CPU  %MEM  VSZ(MB)  RSS(MB) TTY    STAT  START  TIME   COMMAND
pono  2658  0.0   0.0   358.88   4.29    ?      Sl    02:33  0:00   /usr/bin/gnome-keyring
... output truncated...
pono  4507  0.0   0.0   19.14    1.81    pts/1  S+    03:29  0:00   man                   
pono  4518  0.0   0.0   10.55    0.96    pts/1  S+    03:29  0:00   pager                 
pono  4727  0.7   0.9   1143.59  53.08   ?      Ssl   04:10  0:24   /opt/sublime_text/subl
pono  4742  0.1   0.4   339.05   25.80   ?      Sl    04:10  0:03   /opt/sublime_text/plug
pono  5177  0.0   0.0   19.23    1.32    pts/0  R+    05:05  0:00   ps                    
pono  5178  0.0   0.0   4.34     0.61    pts/0  S+    05:05  0:00   /bin/sh 

Spero che questo aiuti a trovare un modo adatto a te.


Linux
  1. Rendi l'output di du più utile con questo trucco accurato

  2. Linux - Cambia il formato dell'output di traccia degli eventi di Syscall in Ftrace?

  3. 12 Esempi di opzioni per il formato di output del comando ora UNIX / Linux

  4. Come accedere (se possibile) allo spazio del kernel dallo spazio utente?

  5. Dimensione del file in formato leggibile dall'uomo

Visualizza l'output del comando Ping in formato grafico utilizzando Gping

Come visualizzare la dimensione del file in formato leggibile dall'uomo (KB, MB, GB) nel terminale Linux

Determinazione corretta dell'utilizzo della memoria in Linux

ss - formato di output dell'utility statistiche socket linux

Significato della riga buffer/cache nell'output di free

Come leggere i messaggi syslog di oom-killer?