找到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