找到Linux中消耗最大內存的進程的4種方法。

在上一篇文章中,我們討論了如何在Linux中找到最繁忙的CPU進程。 現在是時候在Linux上查找內存消耗最大的進程了。 本文將幫助您快速找到Linux上最消耗內存的進程。

1.使用ps命令找出Linux中消耗最大內存的進程。

使用ps命令可以使用一種代碼來幫助您查找Linux上最消耗內存的進程。

球隊:

# ps -eo pid,ppid,cmd,%mem --sort=-%mem | head

輸出示例:

[email protected]:~# top -o %MEM -b -n 1|head -n 12|tail -6                                                                                                       
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                   
 1002 mysql     20   0 2152916 566836   9608 S   0.0 18.4  13:04.02 mysqld                                                                                    
  828 clamav    20   0  773404 543596   6716 S   0.0 17.6   1:00.62 clamd                                                                                     
 1212 root      20   0 1320544  52584  21032 S   0.0  1.7   0:49.04 core                                                                                      
 1097 root      20   0  468248  20604  19304 S   0.0  0.7   0:02.25 apache2                                                                                   
 1329 www-data  20   0  404428  20132  15144 S   0.0  0.7   0:00.43 php-fpm7.0                                                                                
[email protected]:~#

在這裡,您將按內存使用情況進行排序,這將幫助您輕鬆地找出Linux上佔用內存最多的進程。

2.在Linux中不斷監視內存中的進程。

如果需要連續監視輸出。 下面的watch命令示例非常方便。

球隊:

# watch "ps -eo pid,ppid,cmd,%mem --sort=-%mem | head"

輸出示例:

[email protected]:~# watch "ps -eo pid,ppid,cmd,%mem --sort=-%mem | head"
Every 2.0s: ps -eo pid,ppid,cmd,%mem --sort=-%mem | head                                                                              Tue Sep 12 14:42:11 2017
                                                                                                                                                              
  PID  PPID CMD                         %MEM                                                                                                                  
 1002     1 /usr/sbin/mysqld            18.4                                                                                                                  
  828     1 /usr/sbin/clamd --foregroun 17.6                                                                                                                  
23270 23269 /usr/bin/php-cgi /var/www/p  3.5                                                                                                                  
 1212     1 bin/core ispmgr              1.7                                                                                                                  
 1097     1 /usr/sbin/apache2 -k start   0.6                                                                                                                  
 1329  1062 php-fpm: pool www-data       0.6                                                                                                                  
 1080  1062 php-fpm: pool www-data       0.6                                                                                                                  
 1062     1 php-fpm: master process (/e  0.5                                                                                                                  
  971     1 /usr/sbin/named -f -u bind   0.5

3.使用top命令確定Linux中最消耗內存的進程。

使用本地Linux top命令也可以實現相同的ps命令輸出。

球隊:

# top -o %MEM -b -n 1|head -n 12|tail -6

輸出示例:

[email protected]:~# top -o %MEM -b -n 1|head -n 12|tail -6                                                                                                       
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                   
 1002 mysql     20   0 2152916 567100   9608 S  60.0 18.4  13:05.07 mysqld                                                                                    
  828 clamav    20   0  773404 543596   6716 S   0.0 17.6   1:00.62 clamd                                                                                     
23448 destroyer  20   0  435360 120668  59364 R  40.0  3.9   0:01.76 php                                                                                       
 1212 root      20   0 1320544  53068  21436 S   0.0  1.7   0:49.23 core                                                                                      
 1097 root      20   0  468248  20604  19304 S   0.0  0.7   0:02.25 apache2                                                                                   
[email protected]:~#

4.使用htop命令。

還有另一個名為htop的實用程序,可以幫助您查找Linux中最消耗內存的進程。

球隊:

[[email protected] ~]# htop

執行htop命令後,將打開一個包含連續數據輸出的窗口,如下所示:

為了了解使用內存的過程,只需按下“ F6”按鈕,然後選擇內存並按Enter。 您可以看到按內存使用情況排序的進程,如下所示:

找到Linux中消耗最大內存的進程的4種方法。

Sidebar