Установка smem для проверки RAM/SWAP активности в Unix/Linux
Smem — утилита, которая показывает довольно много полезной информации о взаимодействии RAM, SWAP, USS, RSS по каждому процессу, процессу по пользователю.
В отличие от существующих инструментов, smem может показывать пропорциональный размер памяти (PSS), который показывает более значимое представление о использовании памяти приложений и библиотек в настройках виртуальной памяти.
Установка smem для проверки RAM/SWAP активности в Unix/Linux
И так, приступим к установке данной утилиты. Я приведу пример установки для некоторых Unix/Linux ОС.
Установка smem для проверки SWAP активности в Debian/Ubuntu/Kali/Mint
Установка очень простая, просто выполните команду:
$ sudo apt-get install smem -y
Очень изи, да?)
PS: Чтобы строить графики, нужно установить:
# apt-get install python-matplotlib
Установка smem для проверки SWAP активности в RHEL/CentOS/Fedora
Для установки, используйте:
# yum install smem -y
Как-то так.
PS: Чтобы строить графики, нужно установить:
# yum install python-matplotlib python-tk -y
Установка smem для проверки SWAP активности в других Unix/Linux ОС
Если не имеется пакета с smem утилитой, то его можно собрать или скомпилировать. Скачиваем исходный код:
$ cd /usr/local/src && wget https://www.selenic.com/smem/download/smem-1.4.tar.gz && tar xvf smem-*tar.gz
Скопируем утилиту:
# cd smem-* && cp smem /usr/local/bin/
Выставляем права:
# chmod +x /usr/local/bin/smem
Перейдем к использованию.
Использование smem для проверки SWAP активности в Unix/Linux
Простое использование:
# smem
Вывод:
PID User Command Swap USS PSS RSS 210 root /sbin/agetty --noclear --ke 0 116 116 120 218 root /sbin/agetty --noclear tty2 0 124 124 128 79084 avahi avahi-daemon: chroot helpe 0 100 168 236 123086 varnishlog /usr/bin/varnishncsa -a -w 0 180 208 272 122819 root varnishncsa -a -w /var/log/ 0 184 212 276 123017 varnishlog /usr/bin/varnishlog -a -w / 0 200 214 264 79298 root /usr/sbin/atd -f 0 220 220 236 39071 nagios /usr/local/nagios/bin/nagio 0 268 300 536 39072 nagios /usr/local/nagios/bin/nagio 0 272 304 540 39070 nagios /usr/local/nagios/bin/nagio 0 276 308 544 39073 nagios /usr/local/nagios/bin/nagio 0 276 308 544 39074 nagios /usr/local/nagios/bin/nagio 0 276 308 544 39075 nagios /usr/local/nagios/bin/nagio 0 276 308 544 39085 nagios /usr/local/nagios/bin/nagio 0 268 314 372 162672 nginx /usr/local/sbin/fcgiwrap 0 328 340 424 66064 root /usr/lib/systemd/systemd-ud 0 392 392 396 79083 avahi avahi-daemon: running [capt 0 348 417 568 79194 rpc /sbin/rpcbind -w 0 548 548 564 36783 root /bin/sh /usr/bin/mysqld_saf 0 324 625 1564 79225 memcached /usr/bin/memcached -u memca 0 664 668 688 65954 root /usr/sbin/crond -n 0 708 715 1008 37204 root /usr/sbin/sshd 0 856 903 1340
Посмотреть какая библиотека что использует:
# smem -m Map PIDs AVGPSS PSS (deleted)/etc/udev/hwdb.bin 1 0 0 /run/systemd/journal/kernel-seqnum 1 0 0 /usr/lib64/gconv/gconv-modules.cache 44 0 0 /usr/lib64/libICE.so.6.3.0 48 0 0 /usr/lib64/libMagickWand.so.5.0.0 48 0 0 /usr/lib64/libSM.so.6.0.1 48 0 0 /usr/lib64/libX11-xcb.so.1.0.0 48 0 0
Посмотреть какой пользователь, что и сколько использует:
# smem -u User Count Swap USS PSS RSS varnishlog 2 0 380 422 536 rpc 1 0 548 548 564 avahi 2 0 448 585 804 memcached 1 0 664 668 688 dbus 1 0 868 994 1216 nagios 13 0 25908 28958 89268 nginx 6 0 39460 44566 70816 root 17 0 115516 119300 152516 mysql 1 0 506100 506500 508244 www 42 0 1172120 1280634 5078252
Чтобы отфильтровать вывод по имени процесса, используйте «-P» или ‘—processfilter=»regex»‘ опцию:
$ sudo smem --processfilter="mysql" PID User Command Swap USS PSS RSS 36783 root /bin/sh /usr/bin/mysqld_saf 0 324 625 1564 73198 root python /usr/bin/smem --proc 0 7172 7239 8048 37097 mysql /usr/sbin/mysqld --basedir= 0 508160 508560 510304
Или:
# smem -m -p | grep mysql
Чтобы показать необходимые столбцы, используйте «-c» или «—columns» опцию:
$ sudo smem -c "name user pss rss"
Есть много вариантов вызовов smem, например — для просмотра потребления памяти в системе, выполните следующую команду:
# smem -w
Показать отчет об использованной памяти в процентах:
$ sudo smem -p
Опция «-t» покажет общее количество задействованой памяти:
$ sudo smem -t
Комбинированный вывод:
# smem -t -p PID User Command Swap USS PSS RSS 3245 root /usr/sbin/rpc.idmapd 0.02% 0.00% 0.00% 0.13% 3111 root /usr/sbin/vmware-vmblock-fu 0.06% 0.00% 0.00% 0.13% 3231 statd /sbin/rpc.statd 0.06% 0.00% 0.01% 0.22% 3255 daemon /usr/sbin/atd -f 0.02% 0.00% 0.01% 0.18% 3286 root /usr/sbin/acpid 0.01% 0.01% 0.01% 0.15% 3301 root /usr/sbin/minissdpd -i 0.0. 0.01% 0.01% 0.01% 0.11% 3222 root /sbin/rpcbind -w 0.04% 0.01% 0.01% 0.22% 3266 avahi avahi-daemon: chroot helpe 0.02% 0.00% 0.01% 0.13% 3254 root /usr/sbin/cron -f 0.02% 0.01% 0.02% 0.25% 4102 captain /bin/cat 0.00% 0.01% 0.02% 0.17% 4375 captain gnome-pty-helper 0.00% 0.02% 0.02% 0.17% 3338 root /sbin/agetty --noclear tty1 0.00% 0.02% 0.02% 0.18% 3154 root /usr/lib/vmware-vgauth/VGAu 0.33% 0.00% 0.02% 0.41% 3960 captain /bin/sh /usr/bin/start-puls 0.00% 0.02% 0.02% 0.10% 3769 rtkit /usr/lib/rtkit/rtkit-daemon 0.00% 0.03% 0.03% 0.24% 3902 captain /usr/bin/dbus-launch --exit 0.00% 0.03% 0.03% 0.18% 3961 captain /usr/bin/xprop -root -spy 0.00% 0.03% 0.03% 0.22% 3899 captain /usr/bin/ssh-agent /usr/bin 0.00% 0.04% 0.04% 0.08% 3284 root /usr/sbin/cups-browsed 0.07% 0.02% 0.04% 0.52% 3258 avahi avahi-daemon: running [debi 0.01% 0.03% 0.05% 0.27% 3622 root tpvmlpd2 0.00% 0.04% 0.05% 0.29% 3275 root /lib/systemd/systemd-logind 0.02% 0.06% 0.06% 0.27% 5787 captain /usr/lib/dconf/dconf-servic 0.00% 0.06% 0.06% 0.45% 3910 captain /usr/bin/dbus-daemon --conf 0.00% 0.05% 0.06% 0.34% 4386 root su - 0.00% 0.04% 0.07% 0.34%
Более того, есть опции для вывода информации в графическом моде. Вы можете произвести гистограмму процессов и их PSS и RSS значений. Например, покажем гистограмму процессов, находящихся в использовании root пользователя.
Вертикальная плоскость показывает PSS и RSS измерение процессов и горизонтальная плоскость представляет каждый пользовательский процесс:
$ sudo smem --userfilter="root" --bar pid -c"pss rss"
И получим:
Вы также можете использовать круговую диаграмму, показывающую процессы и их потребление памяти, основанные на PSS или RSS значениях.
Опция «—pie» назначает имя диаграмы и «-s» опция помогает сортировать по PSS значению:
$ sudo smem --userfilter="root" --pie name -s pss
Для получения полного списка команд, используйте:
# smem --help
Или:
# smem -h
Довольно простая утилита для проверки swap активности в Unix/Linux.