如何确定哪个进程使用了​​更多的物理内存?

如何确定哪个进程使用了​​更多的物理内存?

我已经运行了free -t -mps aux --sort -rss,但我不明白为什么这两个命令的输出在当前使用的总物理内存量方面存在差异。输出如下。

# free -t -m

             total       used       free     shared    buffers     cached
Mem:           995        863        132          0         30        658
-/+ buffers/cache:        173        821
Swap:            0          0          0
Total:         995        863        132

# ps aux --sort -rss

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
mysql      824  0.0  6.1 887776 63128 ?        Ssl  Feb24   0:35 /usr/sbin/mysqld
www-data  1411  0.0  1.5 235640 15696 ?        S    Feb24   0:01 /usr/sbin/apache2 -k start
www-data  1349  0.0  1.5 238744 15300 ?        S    Feb24   0:01 /usr/sbin/apache2 -k start
www-data  1158  0.0  1.4 238308 14812 ?        S    Feb24   0:02 /usr/sbin/apache2 -k start
www-data  1412  0.0  1.4 238264 14764 ?        S    Feb24   0:01 /usr/sbin/apache2 -k start
www-data   906  0.0  1.3 234120 14200 ?        S    Feb24   0:02 /usr/sbin/apache2 -k start
www-data  2673  0.0  1.3 234096 14044 ?        S    12:52   0:00 /usr/sbin/apache2 -k start
www-data  1413  0.0  1.2 236368 12916 ?        S    Feb24   0:01 /usr/sbin/apache2 -k start
www-data  2577  0.0  1.1 232496 12184 ?        S    10:54   0:00 /usr/sbin/apache2 -k start
www-data  1484  0.0  1.1 232180 12028 ?        S    Feb24   0:01 /usr/sbin/apache2 -k start
www-data  2675  0.0  1.1 231924 11704 ?        S    12:53   0:00 /usr/sbin/apache2 -k start
root       867  0.0  0.9 229388  9888 ?        Ss   Feb24   0:03 /usr/sbin/apache2 -k start
root      2939  0.0  0.4  88304  4084 ?        Ss   16:20   0:00 sshd: root@pts/0    
root      1023  0.0  0.3 584428  3840 ?        Sl   Feb24   0:00 /usr/sbin/console-kit-daemon --no-daemon
root      2956  0.0  0.3  21872  3148 pts/0    Ss   16:20   0:00 -bash
root       620  0.0  0.2  52252  2836 ?        Ss   Feb24   0:00 /usr/sbin/sshd -D
root         1  0.0  0.2  26756  2428 ?        Ss   Feb24   0:00 /sbin/init
syslog     428  0.0  0.1 247456  1560 ?        Sl   Feb24   0:01 rsyslogd -c5
root      3094  0.0  0.1  18600  1300 pts/0    R+   17:06   0:00 ps aux --sort -rss
root       316  0.0  0.1  21552  1272 ?        Ss   Feb24   0:00 /sbin/udevd --daemon
102        408  0.0  0.1  24004  1140 ?        Ss   Feb24   0:00 dbus-daemon --system --fork
root       766  0.0  0.1  21324  1028 ?        Ss   Feb24   0:00 cron
root       725  0.0  0.0  15828   976 tty5     Ss+  Feb24   0:00 /sbin/getty -8 38400 tty5
root       739  0.0  0.0  15828   976 tty3     Ss+  Feb24   0:00 /sbin/getty -8 38400 tty3
root       743  0.0  0.0  15828   976 tty6     Ss+  Feb24   0:00 /sbin/getty -8 38400 tty6
root       719  0.0  0.0  15828   972 tty4     Ss+  Feb24   0:00 /sbin/getty -8 38400 tty4
root       735  0.0  0.0  15828   964 tty2     Ss+  Feb24   0:00 /sbin/getty -8 38400 tty2
root       900  0.0  0.0  15828   960 tty1     Ss+  Feb24   0:00 /sbin/getty -8 38400 tty1
root       453  0.0  0.0  21548   816 ?        S    Feb24   0:00 /sbin/udevd --daemon
root       454  0.0  0.0  21548   816 ?        S    Feb24   0:00 /sbin/udevd --daemon
root       763  0.0  0.0   4376   684 ?        Ss   Feb24   0:00 acpid -c /etc/acpi/events -s /var/run/acpid.socket
root       313  0.0  0.0  17316   636 ?        S    Feb24   0:00 upstart-udev-bridge --daemon
root       303  0.0  0.0  15268   412 ?        S    Feb24   0:00 upstart-file-bridge --daemon
root       600  0.0  0.0  15256   412 ?        S    Feb24   0:00 upstart-socket-bridge --daemon
daemon     767  0.0  0.0  19124   168 ?        Ss   Feb24   0:00 atd
root         2  0.0  0.0      0     0 ?        S    Feb24   0:00 [kthreadd]

RSS 列的总和为 243068 KB (237 MB),而 free 命令显示已使用 863 MB。我做错了吗?尽管差异很大,我是否可以假设 MySQL 是消耗物理内存的主要进程?它真的使用了 63128 KB (61 MB) 吗?

**更新**

非常好的网站,解释如何解释free -t -m输出:http://www.linuxatemyram.com/

答案1

下面是一个代码,用于列出进程及其内存使用情况,从小到大。

sudo ps -e -orss=,args= | sort -b -k1,1n 

在此处输入图片描述

( 你可以加,pid=如果你想要进程 ID)

您可以了解 ps 命令这里

如果您想要图形化:

在破折号中输入系统监视器

进程选项卡

您可以通过以下内存使用情况查看每个进程记忆

按下记忆按以下方式排序增加订购或减少

在此处输入图片描述

相关内容