GNU/Linux >> Tutoriales Linux >  >> Linux

¿Es posible formatear la salida ps RSS (memoria) para que sea más amigable para los humanos?

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

Necesitas coreutils>=8.25

Yo personalmente prefiero este:

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

Parece que no hay una bandera apropiada en ps , por lo que debe usar una herramienta diferente (personalmente prefiero htop ) o meterse con ps salida un poco. Supongo que quieres quedarte con ps .Aquí hay un pequeño guión sucio que hice como ejemplo:

# 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

Guárdelo en un archivo, diga prettyps.sh , hazlo ejecutable:

chmod +x prettyps.sh

y usar de la siguiente manera:

ps ux | /path/to/prettyps.sh

El uso de este script tiene la desventaja de agregar procesos adicionales a la salida de ps, pero aún así funciona:

$ 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 

Espero que esto ayude a encontrar una forma que se adapte a ti.


Linux
  1. Haga que la salida de du sea más útil con este ingenioso truco

  2. Linux:¿cambiar el formato de salida de seguimiento de eventos de Syscall a Ftrace?

  3. ¿Es posible colorear la salida canalizada a más?

  4. Tamaño de archivo en formato legible por humanos

  5. ¿Es posible asignar una gran cantidad de memoria virtual en Linux?

Mostrar la salida del comando Ping en formato gráfico usando Gping

Cómo mostrar el tamaño del archivo en formato legible por humanos (KB, MB, GB) en la terminal de Linux

Creciente uso de memoria residente (RSS) de Java Process

Determinar correctamente el uso de memoria en Linux

Linux:¿cómo desintercambiar explícitamente todo lo posible?

Ubuntu Linux:procesamiento de memoria de intercambio y uso de memoria