中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何查看Linux系統中進程和用戶的內存使用情況

發布時間:2021-10-23 11:22:53 來源:億速云 閱讀:145 作者:小新 欄目:系統運維

這篇文章主要介紹了如何查看Linux系統中進程和用戶的內存使用情況,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。


按照進程查看內存使用情況

使用 top

top 是最好的查看內存使用情況的命令之一。為了查看哪個進程使用著最多的內存,一個簡單的辦法就是啟動 top,然后按下 shift+m,這樣便可以查看按照內存占用百分比從高到底排列的進程。當你按下了 shift+m ,你的 top 應該會得到類似于下面這樣的輸出結果:

$toptop - 09:39:34 up 5 days, 3 min,  3 users,  load average: 4.77, 4.43, 3.72Tasks: 251 total,   3 running, 247 sleeping,   1 stopped,   0 zombie%Cpu(s): 50.6 us, 35.9 sy,  0.0 ni, 13.4 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 stMiB Mem :   5944.4 total,    128.9 free,   2509.3 used,   3306.2 buff/cacheMiB Swap:   2048.0 total,   2045.7 free,      2.2 used.   3053.5 avail Mem   PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND  400 nemo      20   0 3309580 550188 168372 S   0.3   9.0   1:33.27 Web Content32469 nemo      20   0 3492840 447372 163296 S   7.3   7.3   3:55.60 firefox32542 nemo      20   0 2845732 433388 140984 S   6.0   7.1   4:11.16 Web Content  342 nemo      20   0 2848520 352288 118972 S  10.3   5.8   4:04.89 Web Content 2389 nemo      20   0 1774412 236700  90044 S  39.7   3.9   9:32.64 vlc29527 nemo      20   0 2735792 225980  84744 S   9.6   3.7   3:02.35 gnome-shell30497 nemo      30  10 1088476 159636  88884 S   0.0   2.6   0:11.99 update-manager30058 nemo      20   0 1089464 140952  33128 S   0.0   2.3   0:04.58 gnome-software32533 nemo      20   0 2389088 104712  79544 S   0.0   1.7   0:01.43 WebExtensions 2256 nemo      20   0 1217884 103424  31304 T   0.0   1.7   0:00.28 vlc 1713 nemo      20   0 2374396  79588  61452 S   0.0   1.3   0:00.49 Web Content29306 nemo      20   0  389668  74376  54340 S   2.3   1.2   0:57.25 Xorg32739 nemo      20   0  289528  58900  34480 S   1.0   1.0   1:04.08 RDD Process29732 nemo      20   0  789196  57724  42428 S   0.0   0.9   0:00.38 evolution-alarm 2373 root      20   0  150408  57000   9924 S   0.3   0.9  10:15.35 nessusd

注意 %MEM 排序。列表的大小取決于你的窗口大小,但是占據著最多的內存的進程將會顯示在列表的頂端。

使用 ps

ps 命令中的一列用來展示每個進程的內存使用情況。為了展示和查看哪個進程使用著最多的內存,你可以將 ps 命令的結果傳遞給 sort 命令。下面是一個有用的示例:

$ ps aux | sort -rnk 4 | head -5nemo       400  3.4  9.2 3309580 563336 ?      Sl   08:59   1:36 /usr/lib/firefox/firefox -contentproc -childID 6 -isForBrowser -prefsLen 9086 -prefMapSize 210653 -parentBuildID 20200107212822 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 32469 true tabnemo     32469  8.2  7.7 3492840 469516 ?      Sl   08:54   4:15 /usr/lib/firefox/firefox -new-windownemo     32542  8.9  7.6 2875428 462720 ?      Sl   08:55   4:36 /usr/lib/firefox/firefox -contentproc -childID 2 -isForBrowser -prefsLen 1 -prefMapSize 210653 -parentBuildID 20200107212822 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 32469 true tabnemo       342  9.9  5.9 2854664 363528 ?      Sl   08:59   4:44 /usr/lib/firefox/firefox -contentproc -childID 5 -isForBrowser -prefsLen 8763 -prefMapSize 210653 -parentBuildID 20200107212822 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 32469 true tabnemo      2389 39.5  3.8 1774412 236116 pts/1  Sl+  09:15  12:21 vlc videos/edge_computing.mp4

在上面的例子中(文中已截斷),sort 命令使用了 -r 選項(反轉)、-n 選項(數字值)、-k 選項(關鍵字),使 sort 命令對 ps 命令的結果按照第四列(內存使用情況)中的數字逆序進行排列并輸出。如果我們首先顯示 ps 命令的標題,那么將會便于查看。

$ ps aux | head -1; ps aux | sort -rnk 4 | head -5USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDnemo       400  3.4  9.2 3309580 563336 ?      Sl   08:59   1:36 /usr/lib/firefox/firefox -contentproc -childID 6 -isForBrowser -prefsLen 9086 -prefMapSize 210653 -parentBuildID 20200107212822 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 32469 true tabnemo     32469  8.2  7.7 3492840 469516 ?      Sl   08:54   4:15 /usr/lib/firefox/firefox -new-windownemo     32542  8.9  7.6 2875428 462720 ?      Sl   08:55   4:36 /usr/lib/firefox/firefox -contentproc -childID 2 -isForBrowser -prefsLen 1 -prefMapSize 210653 -parentBuildID 20200107212822 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 32469 true tabnemo       342  9.9  5.9 2854664 363528 ?      Sl   08:59   4:44 /usr/lib/firefox/firefox -contentproc -childID 5 -isForBrowser -prefsLen 8763 -prefMapSize 210653 -parentBuildID 20200107212822 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 32469 true tabnemo      2389 39.5  3.8 1774412 236116 pts/1  Sl+  09:15  12:21 vlc videos/edge_computing.mp4

如果你喜歡這個命令,你可以用下面的命令為他指定一個別名,如果你想一直使用它,不要忘記把該命令添加到你的 ~/.bashrc 文件中。

$ alias mem-by-proc="ps aux | head -1; ps aux | sort -rnk 4"

下面是一些根據用戶查看內存使用情況的命令:

按用戶查看內存使用情況

使用 top

按照用戶檢查內存使用情況會更復雜一些,因為你需要找到一種方法把用戶所擁有的所有進程統計為單一的內存使用量。

如果你只想查看單個用戶進程使用情況,top 命令可以采用與上文中同樣的方法進行使用。只需要添加 -U 選項并在其后面指定你要查看的用戶名,然后按下 shift+m 便可以按照內存使用有多到少進行查看。

$ top -U nemotop - 10:16:33 up 5 days, 40 min,  3 users,  load average: 1.91, 1.82, 2.15Tasks: 253 total,   2 running, 250 sleeping,   1 stopped,   0 zombie%Cpu(s): 28.5 us, 36.8 sy,  0.0 ni, 34.4 id,  0.3 wa,  0.0 hi,  0.0 si,  0.0 stMiB Mem :   5944.4 total,    224.1 free,   2752.9 used,   2967.4 buff/cacheMiB Swap:   2048.0 total,   2042.7 free,      5.2 used.   2812.0 avail Mem   PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND  400 nemo      20   0 3315724 623748 165440 S   1.0  10.2   1:48.78 Web Content32469 nemo      20   0 3629380 607492 161688 S   2.3  10.0   6:06.89 firefox32542 nemo      20   0 2886700 404980 136648 S   5.6   6.7   6:50.01 Web Content  342 nemo      20   0 2922248 375784 116096 S  19.5   6.2   8:16.07 Web Content 2389 nemo      20   0 1762960 234644  87452 S   0.0   3.9  13:57.53 vlc29527 nemo      20   0 2736924 227260  86092 S   0.0   3.7   4:09.11 gnome-shell30497 nemo      30  10 1088476 156372  85620 S   0.0   2.6   0:11.99 update-manager30058 nemo      20   0 1089464 138160  30336 S   0.0   2.3   0:04.62 gnome-software32533 nemo      20   0 2389088 102532  76808 S   0.0   1.7   0:01.79 WebExtensions
使用 ps

你依舊可以使用 ps 命令通過內存使用情況來排列某個用戶的進程。在這個例子中,我們將使用 grep 命令來篩選得到某個用戶的所有進程。

$ ps aux | head -1; ps aux | grep ^nemo| sort -rnk 4 | moreUSER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDnemo     32469  7.1 11.5 3724364 701388 ?      Sl   08:54   7:21 /usr/lib/firefox/firefox -new-windownemo       400  2.0  8.9 3308556 543232 ?      Sl   08:59   2:01 /usr/lib/firefox/firefox -contentproc -childID 6 -isForBrowser -prefsLen 9086 -prefMapSize 210653 -parentBuildID 20200107212822 -greomni /usr/lib/firefox/omni.ja -appomni/usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 32469 true tabnemo     32542  7.9  7.1 2903084 436196 ?      Sl   08:55   8:07 /usr/lib/firefox/firefox -contentproc -childID 2 -isForBrowser -prefsLen 1 -prefMapSize 210653 -parentBuildID 20200107212822 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 32469 true tabnemo       342 10.8  7.0 2941056 426484 ?      Rl   08:59  10:45 /usr/lib/firefox/firefox -contentproc -childID 5 -isForBrowser -prefsLen 8763 -prefMapSize 210653 -parentBuildID 20200107212822 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 32469 true tabnemo      2389 16.9  3.8 1762960 234644 pts/1  Sl+  09:15  13:57 vlc videos/edge_computing.mp4nemo     29527  3.9  3.7 2736924 227448 ?      Ssl  08:50   4:11 /usr/bin/gnome-shell

使用 ps 和其他命令的搭配

如果你想比較某個用戶與其他用戶內存使用情況將會比較復雜。在這種情況中,創建并排序一個按照用戶總的內存使用量是一個不錯的方法,但是它需要做一些更多的工作,并涉及到許多命令。在下面的腳本中,我們使用 ps aux | grep -v COMMAND | awk '{print $1}' | sort -u 命令得到了用戶列表。其中包含了系統用戶比如 syslog。我們對每個任務使用 awk 命令以收集每個用戶總的內存使用情況。在最后一步中,我們展示每個用戶總的內存使用量(按照從大到小的順序)。

#!/bin/bash stats=””echo "%   user"echo "============" # collect the datafor user in `ps aux | grep -v COMMAND | awk '{print $1}' | sort -u`do  stats="$stats\n`ps aux | egrep ^$user | awk 'BEGIN{total=0}; \    {total += $4};END{print total,$1}'`"done # sort data numerically (largest first)echo -e $stats | grep -v ^$ | sort -rn | head

這個腳本的輸出可能如下:

$ ./show_user_mem_usage%   user============69.6 nemo5.8 root0.5 www-data0.3 shs0.2 whoopsie0.2 systemd+0.2 colord0.2 clamav0 syslog0 rtkit

感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何查看Linux系統中進程和用戶的內存使用情況”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

罗江县| 浦城县| 延寿县| 土默特右旗| 清丰县| 上栗县| 云龙县| 兴安县| 高邑县| 漯河市| 盐池县| 富锦市| 开阳县| 格尔木市| 横峰县| 江孜县| 板桥市| 九江市| 内黄县| 洞口县| 叙永县| 京山县| 宿迁市| 无为县| 丰镇市| 石景山区| 泾阳县| 武隆县| 东明县| 固镇县| 方正县| 卢龙县| 双牌县| 洛川县| 如皋市| 拉萨市| 鸡东县| 宜章县| 洛扎县| 图木舒克市| 固始县|