Установка smem для проверки RAM/SWAP активности в Unix/Linux

Установка 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"

И получим:

smem в графическом использовании

Вы также можете использовать круговую диаграмму, показывающую процессы и их потребление памяти, основанные на PSS или RSS значениях.

Опция «—pie» назначает имя диаграмы и «-s»  опция помогает сортировать по PSS значению:

$ sudo smem --userfilter="root" --pie name -s pss

Для получения полного списка команд, используйте:

# smem --help

Или:

# smem -h

Довольно простая утилита для проверки swap активности в Unix/Linux.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.