GNU/Linux >> Belajar Linux >  >> Linux

Apakah mungkin untuk memformat keluaran ps RSS (memori) agar lebih ramah manusia?

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

Anda membutuhkan coreutils>=8.25

Saya pribadi lebih suka yang ini:

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

Sepertinya tidak ada flag yang sesuai di ps , jadi Anda harus menggunakan alat yang berbeda (saya pribadi lebih suka htop ) atau main-main dengan ps keluaran sedikit. Saya kira Anda ingin tetap menggunakan ps .Ini skrip kecil kotor yang saya buat sebagai contoh:

# 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

Simpan ke file, misalnya prettyps.sh , membuatnya dapat dieksekusi:

chmod +x prettyps.sh

dan gunakan sebagai berikut:

ps ux | /path/to/prettyps.sh

Menggunakan skrip ini memiliki kelemahan dalam menambahkan proses ekstra ke output ps, namun tetap berfungsi:

$ 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 

Semoga ini membantu menemukan cara yang cocok untuk Anda.


Linux
  1. Jadikan output du lebih berguna dengan trik rapi ini

  2. Linux – Ubah Format Output Jejak Acara Syscall Ke Ftrace?

  3. Cara Menangkap Output Perintah Teratas Unix ke File dalam Format yang Dapat Dibaca

  1. 12 Contoh Opsi Format Output Perintah Waktu UNIX / Linux

  2. Bagaimana cara mengakses (jika mungkin) ruang kernel dari ruang pengguna?

  3. Ukuran file dalam format yang dapat dibaca manusia

  1. Menumbuhkan penggunaan memori residen (RSS) dari Proses Java

  2. Apakah mungkin untuk mengalokasikan memori virtual dalam jumlah besar di linux?

  3. Linux:bagaimana cara menghapus semua kemungkinan secara eksplisit?