Я уже запустил free -t -m
и ps 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]
Я получил 243068 КБ (237 МБ) в виде суммы столбца RSS, а команда free показывает 863 МБ использовался. Я делаю что-то неправильно? Могу ли я считать MySQL основным процессом, потребляющим физическую память, несмотря на большую разницу? Действительно ли он использует 63128 КБ (61 МБ)?
** ОБНОВЛЕНИЕ * *
Очень хороший сайт, объясняющий как интерпретировать вывод free -t -m
: http://www.linuxatemyram.com/
Вот код для списка процессов и там использования памяти от меньшего до большего размера использования.
sudo ps -e -orss=,args= | sort -b -k1,1n
(можно добавить , изодромный с предварением = , если Вы хотите идентификатор процесса)
можно узнать о команде PS Здесь
, Если Вы хотите графически:
В тире, Системный монитор типа .
нажимают Processes Tab
You видят каждый процесс его использованием памяти под [1 117], Память
Нажимает на Memory для сортировки их по [1 119] Увеличение порядок или уменьшение