《塞伯利亞之謎:之前的世界》新截圖分享 3/18發行
很多次,你可能遇見過系統消耗了過多的記憶體。如果是這種情況,那麼最好的辦法是識別出 Linux 機器上消耗過多記憶體的程序。我相信,你可能已經運行了下文中的命令以進行檢查。如果沒有,那你嘗試過哪些其他的命令?我希望你可以在評論中更新這篇文章,它可能會幫助其他使用者。
使用 top 命令 和 ps 命令 可以輕鬆的識別這種情況。我過去經常同時使用這兩個命令,兩個命令得到的結果是相同的。所以我建議你從中選擇一個喜歡的使用就可以。
1) 如何使用 ps 命令在 Linux 中查詢記憶體消耗最大的程序
ps 命令用於報告當前程序的快照。ps 命令的意思是“程序狀態”。這是一個標準的 Linux 應用程式,用於查詢有關在 Linux 系統上執行程序的資訊。
它用於列出當前正在執行的程序及其程序 ID(PID)、程序所有者名稱、程序優先順序(PR)以及正在執行的命令的絕對路徑等。
下面的 ps 命令格式為你提供有關記憶體消耗最大程序的更多資訊。
# ps aux --sort -rss | head
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 4094 10.8 0.0 786792 250784 pts/0 Rl 15:13 3:08 /usr/local/bin/python /usr/local/bin/scrapy crawlall
root 4017 10.6 0.0 781296 245344 pts/0 Sl 15:13 3:06 python start.py
root 4044 10.6 0.0 777784 241760 pts/0 Sl 15:13 3:06 python start_all.py
root 347 53.7 0.0 869020 127732 pts/0 Sl 15:01 21:43 python runsearch.py
root 9795 14.1 0.0 351424 110060 pts/0 Sl 15:29 1:46 /usr/local/bin/python /usr/local/bin/scrapy crawl mongoHeadRecommendDetail
root 207 1.0 0.0 663680 100452 pts/0 S 14:58 0:27 python rundouban.py
root 8900 2.5 0.0 416604 99076 pts/0 Sl 15:27 0:22 /usr/local/bin/python /usr/local/bin/scrapy crawl channel_recommend
root 9051 2.4 0.0 413652 97940 pts/0 Sl 15:27 0:20 /usr/local/bin/python /usr/local/bin/scrapy crawl iqiyi_detail
root 6232 26.2 0.0 540584 78892 pts/0 Sl 15:17 6:21 /usr/local/bin/python /usr/local/bin/scrapy crawlall
使用以下 ps 命令格式可在輸出中僅展示有關記憶體消耗過程的特定資訊。
# ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%mem | head
PID PPID %MEM %CPU CMD
4094 4093 0.0 10.8 /usr/local/bin/python /usr/local/bin/scrapy crawlall
4017 100 0.0 10.6 python start.py
4044 100 0.0 10.6 python start_all.py
347 100 0.0 53.7 python runsearch.py
9795 9794 0.0 14.1 /usr/local/bin/python /usr/local/bin/scrapy crawl mongoHeadRecommendDetail
207 100 0.0 1.0 python rundouban.py
8900 8899 0.0 2.5 /usr/local/bin/python /usr/local/bin/scrapy crawl channel_recommend
9051 9050 0.0 2.4 /usr/local/bin/python /usr/local/bin/scrapy crawl iqiyi_detail
6232 6231 0.0 26.1 /usr/local/bin/python /usr/local/bin/scrapy crawlall
如果你只想檢視命令名稱而不是命令的絕對路徑,請使用下面的 ps 命令格式。
# ps -eo pid,ppid,%mem,%cpu,comm --sort=-%mem | head
PID PPID %MEM %CPU COMMAND
4094 4093 0.0 10.8 scrapy
4017 100 0.0 10.6 python
4044 100 0.0 10.6 python
347 100 0.0 53.7 python
9795 9794 0.0 14.1 scrapy
207 100 0.0 1.0 python
8900 8899 0.0 2.5 scrapy
9051 9050 0.0 2.4 scrapy
6232 6231 0.0 26.1 scrapy
2) 如何使用 top 命令在 Linux 中查詢記憶體消耗最大的程序
Linux 的 top 命令是用來監視 Linux 系統性能的最好和最知名的命令。它在互動介面上顯示執行的系統程序的實時檢視。但是,如果要查詢記憶體消耗最大的程序,請 在批處理模式下使用 top 命令。
你應該正確地 瞭解 top 命令輸出 以解決系統中的效能問題。
# top -c -b -o +%MEM | head -n 20 | tail -15
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4094 root 20 0 786792 250784 17176 S 13.3 0.1 3:11.80 /usr/local/bin/python /usr/local/bin/scrapy crawlall
4017 root 20 0 781296 245344 17128 S 20.0 0.1 3:10.43 python start.py
4044 root 20 0 777784 241760 17060 S 6.7 0.1 3:09.57 python start_all.py
347 root 20 0 864896 121756 9400 R 53.3 0.0 22:05.20 python runsearch.py
9795 root 20 0 351424 110192 17112 S 26.7 0.0 1:52.30 /usr/local/bin/python /usr/local/bin/scrapy crawl mongoHeadRecommendDe+
207 root 20 0 663680 100452 9344 S 0.0 0.0 0:27.69 python rundouban.py
8900 root 20 0 416604 99076 17180 S 0.0 0.0 0:23.99 /usr/local/bin/python /usr/local/bin/scrapy crawl channel_recommend
9051 root 20 0 413652 97940 17080 S 0.0 0.0 0:21.67 /usr/local/bin/python /usr/local/bin/scrapy crawl iqiyi_detail
287 root 20 0 680836 84836 9276 S 53.3 0.0 21:45.32 python runhotshort.py
6232 root 20 0 540584 78892 17596 S 13.3 0.0 6:29.85 /usr/local/bin/python /usr/local/bin/scrapy crawlall
6738 root 20 0 540088 78088 17164 S 0.0 0.0 1:21.48 /usr/local/bin/python /usr/local/bin/scrapy crawlall
9587 root 20 0 319576 78012 17132 S 0.0 0.0 0:21.64 /usr/local/bin/python /usr/local/bin/scrapy crawl mongoHeadRecommend
370 root 20 0 375324 74100 9204 S 0.0 0.0 0:27.03 python runweibo.py
如果你只想檢視命令名稱而不是命令的絕對路徑,請使用下面的 top 命令格式。
# top -b -o +%MEM | head -n 20 | tail -15
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4094 root 20 0 786792 250784 17176 S 18.8 0.1 3:13.45 scrapy
4017 root 20 0 781296 245344 17128 S 12.5 0.1 3:11.66 python
4044 root 20 0 777784 241760 17060 S 12.5 0.1 3:10.89 python
347 root 20 0 837792 127168 9400 R 50.0 0.0 22:11.08 python
9795 root 20 0 351424 110192 17112 S 12.5 0.0 1:54.07 scrapy
207 root 20 0 663680 100452 9344 S 0.0 0.0 0:27.69 python
8900 root 20 0 416604 99076 17180 S 0.0 0.0 0:24.19 scrapy
9051 root 20 0 413652 97940 17080 S 0.0 0.0 0:22.01 scrapy
287 root 20 0 685188 89200 9276 R 43.8 0.0 21:52.67 python
6232 root 20 0 540584 78892 17596 S 18.8 0.0 6:33.94 scrapy
6738 root 20 0 540088 78088 17164 S 0.0 0.0 1:22.23 scrapy
9587 root 20 0 319576 78012 17132 S 0.0 0.0 0:22.02 scrapy
370 root 20 0 375324 74100 9204 S 0.0 0.0 0:27.03 python
————————————————
版權宣告:本文為CSDN博主「一起學python吧」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/myli_binbin/article/details/121249985