LINUX.ORG.RU

как узнать какой процесс скидывает в swap

 , ,


1

2
tm4ig@ctgx ~ % cat /sys/module/zswap/parameters/enabled /sys/module/zswap/parameters/max_pool_percent /proc/sys/vm/swappiness 
Y
99
99

tm4ig@ctgx ~ % free -h
              total        used        free      shared  buff/cache   available
Mem:           7,7G        1,6G        140M        496M        5,9G        5,4G
Swap:          2,0G        1,0M        2,0G

tm4ig@ctgx ~ % uname -a && cat /etc/os-release && systemctl --version                                                        
Linux ctgx 4.15.9-1-ARCH #1 SMP PREEMPT Sun Mar 11 17:54:33 UTC 2018 x86_64 GNU/Linux
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
ID_LIKE=archlinux
ANSI_COLOR="0;36"
HOME_URL="https://www.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
systemd 238
+PAM -AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN +PCRE2 default-hierarchy=hybrid

Еще год назад включил zswap и swap с настройками выше. Во всяком случае при таких значения при нехватке ОЗУ система не вставала раком. Как я понимаю при таком сочетании значений swappines и zswap должно активно использоваться сжатие свопа в озу и только если памяти совсем не хватает используется своп на диске. Как правило до такого не доходила и значение «Swap used» всегда было по факту «0».

Однако после недавних апдейтов (ядра и/или systemd и/или чего-то еще) данные начали активно сбрасываться на диск, хотя ранее такого поведения никогда не было. Пусть вас не смущает, что сейчас «Swap used 1M» - это почти сразу после ребута, до этого менее чем за сутки набежало более 100M

Как узнать кто и почему сбрасывает данные в swap?


Ответ на: комментарий от tailgunner

какая колонка

top - 18:40:13 up  1:11,  3 users,  load average: 1,98, 2,50, 2,17
Tasks: 201 total,   1 running, 126 sleeping,   0 stopped,   0 zombie
%Cpu(s):  6,3 us,  7,1 sy,  0,0 ni, 78,1 id,  6,8 wa,  0,8 hi,  0,8 si,  0,0 st
KiB Mem :  8066860 total,   128400 free,  1576156 used,  6362304 buff/cache
KiB Swap:  2097148 total,  2096112 free,     1036 used.  5820360 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                     
 1308 tm4ig     20   0 1380532 249188  94264 S   0,0  3,1   1:11.13 chromium                                                                                    
 1238 tm4ig     20   0 1370932 215500  71436 S   0,7  2,7   0:46.58 chromium                                                                                    
  765 tm4ig     20   0 3672536 200724  53792 S   3,4  2,5   2:10.36 plasmashell                                                                                 
 1219 tm4ig     20   0 1328420 196492  73000 S   0,0  2,4   1:05.10 chromium                                                                                    
  994 tm4ig     20   0 1396780 193236  78384 S   0,7  2,4   3:49.49 chromium                                                                                    
  976 tm4ig     20   0 1613572 188716  46292 S  17,4  2,3  11:19.39 qbittorrent                                                                                 
 1276 tm4ig     20   0 2932008 186848  71504 S   0,7  2,3   2:04.49 chromium                                                                                    
 1091 tm4ig     20   0 1305352 163108  55624 S   0,0  2,0   0:17.98 chromium                                                                                    
 2441 tm4ig     20   0 1244280 143348  83048 S   0,0  1,8   1:53.18 chromium                                                                                    
  749 tm4ig     20   0 3226952  98100  70232 S   2,0  1,2   3:03.19 kwin_x11                                                                                    
 1055 tm4ig     20   0  638244  92132  41444 S   0,0  1,1   2:25.38 chromium                                                                                    
  605 root      20   0 1035580  78288  59096 S   1,3  1,0   2:18.11 Xorg                                                                                        
 1349 tm4ig     20   0 1764760  74136  42936 S   6,0  0,9   4:02.73 vlc                                                                                         
 2145 tm4ig     20   0  622580  54372  44132 S   0,7  0,7   0:05.50 konsole                                                                                     
  762 tm4ig     20   0  746088  49624  34192 S   0,0  0,6   0:01.71 krunner                                                                                     
  700 tm4ig     20   0 1735368  49012  33552 S   0,7  0,6   0:04.39 kded5                                                                                       
  733 tm4ig     20   0  633872  34812  29348 S   0,0  0,4   0:01.36 ksmserver                                                                                   
  798 tm4ig     20   0  650660  33700  28548 S   0,0  0,4   0:01.31 kdeconnectd                                                                                 
  772 tm4ig     20   0  705928  31948  27260 S   0,0  0,4   0:00.70 polkit-kde-auth                                                                             
  707 tm4ig     20   0  536840  30684  26180 S   0,0  0,4   0:00.66 kaccess                                                                                     
  697 tm4ig     20   0  533932  30568  25784 S   0,0  0,4   0:00.73 klauncher                                                                                   
  667 tm4ig     20   0  546308  30436  25812 S   0,0  0,4   0:00.73 kwalletd5                                                                                   
  840 tm4ig     20   0  679296  30352  25244 S   0,0  0,4   0:01.10 org_kde_powerde                                                                             
  897 tm4ig     20   0  534620  30092  25720 S   0,0  0,4   0:00.56 kuiserver5                                                                                  
  717 tm4ig     20   0  535100  29516  24088 S   0,0  0,4   0:00.76 kglobalaccel5                                                                               
  998 tm4ig     20   0  487436  28444  18724 S   0,0  0,4   0:00.11 chromium                                                                                    
  810 tm4ig     20   0  788576  23004  18332 S   0,0  0,3   0:00.94 kactivitymanage                                                                             
  342 root      20   0  111712  18936  18108 S   0,0  0,2   0:03.59 systemd-journal                                                                             
  838 tm4ig      9 -11 1424192  18068  14120 S   2,0  0,2   1:31.29 pulseaudio                                                                                  
  696 tm4ig     20   0  282500  17632  14368 S   0,0  0,2   0:00.11 kdeinit5                                                                                    
  582 root      20   0  453344  16564  13424 S   0,0  0,2   0:02.03 NetworkManager                                                                              
  606 polkitd   20   0  527696  15832  10020 S   0,0  0,2   0:00.81 polkitd                                                                                     
  837 tm4ig     20   0  355304  14456  12480 S   0,0  0,2   0:00.67 kscreen_backend                                                                             
  600 root      20   0  190304  14440  13216 S   0,0  0,2   0:00.08 sddm                                                                                        
  968 tm4ig     20   0  332464  14428  10688 S   0,0  0,2   0:00.13 minidlnad                                                                                   
  659 root      20   0  167536  14344  12808 S   0,0  0,2   0:00.10 sddm-helper                                                                                 
  784 tm4ig     20   0  372060  14328  12284 S   0,0  0,2   0:00.55 xembedsniproxy                                                                              
 1077 tm4ig     20   0  532032  13952   2524 S   0,0  0,2   0:00.00 chromium                                                                                    
 1000 tm4ig     20   0  487436  12844   3116 S   0,0  0,2   0:00.05 chromium                                                                                    
  738 root      20   0  505428  10536   7992 S   0,0  0,1   0:00.65 udisksd                                                                                     
  735 tm4ig     20   0  433564  10452   7960 S   0,0  0,1   0:01.02 mission-control

tm4ig ()
Ответ на: комментарий от tailgunner

как я понимаю top показывает те же значения, что и

grep -r "^VmSwap" /proc/*/status

Только там дебит с кредитом не бъётся т.к. сумма по процессам была значительно меньше чем размер используемого свопа на диске

tm4ig ()
Ответ на: комментарий от tailgunner

если верить топу, то как оказалось это не один процесс. На самом деле я хотел бы понять какие изменения в системе повлияли на поведение работы свопа

tm4ig ()
Ответ на: комментарий от tailgunner
[root@ctgx ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           7.7G        1.8G        136M        477M        5.7G        5.2G
Swap:          2.0G         58M        1.9G
[root@ctgx ~]# grep -r "VmSwap" /proc/*/status | grep -v "\ 0 kB"
/proc/660/status:VmSwap:             944 kB
/proc/661/status:VmSwap:             412 kB
/proc/674/status:VmSwap:             176 kB
/proc/717/status:VmSwap:            3580 kB
/proc/724/status:VmSwap:             560 kB
/proc/735/status:VmSwap:            1616 kB
/proc/810/status:VmSwap:             580 kB

Пару минут назад было использовано 8МБ свопа, что примерно согласовывалось с показаниямя топа, а потом резку 58МБ и теперь вообще не понятно откуда они прилетели

tm4ig ()
Последнее исправление: tm4ig (всего исправлений: 1)
Ответ на: комментарий от tm4ig

потом резку 58МБ и теперь вообще не понятно откуда они прилетели

С твоими несколькими уровнями свопа это и не должно быть понятно. Ты сделал систему костылей (одновременно zswap и zram, причем zswap разрешено использовать 99% памяти), она просто обязана быть хрупкой.

tailgunner ★★★★★ ()

zram и zswap

Выбери что-то одно, например zswap.

anonymous ()
Ответ на: комментарий от tm4ig

где я писал про zram? У меня только zswap и обычный swap на диске в виде файла, что логично т.к. zswap и предполагает наличие обычного свопа/ На протяжении более года у меня все было нормально, я думаю поведение изменилось в свете новых обновлений. Мля точно писал про zram. о чем думал не понятно. Нет у меня zram

tm4ig ()
Последнее исправление: tm4ig (всего исправлений: 2)
Ответ на: комментарий от tm4ig

Короче у меня только zswap. Zram не использую, но он почему то всплыл в моей больной голове

tm4ig ()
Ответ на: комментарий от Deleted

То что у меня большое значение swappines само по себе не показатель. Я же написал что такое поведение наблюдаю первый раз более чем за год. Как я понимаю при zswap данные сначала сжимаются в памяти,и если уже совсем беда, то попадают в обычный свап

tm4ig ()
Последнее исправление: tm4ig (всего исправлений: 2)
Ответ на: комментарий от anonymous

Колом встает из-за того, что начинает на диск писать. Если памяти нет, то колом вставать будет что с 99, что с 1.

Deleted ()
Ответ на: комментарий от Deleted

Колом встаёт от нехватки памяти, даже если в системе накопителей нет и она вся в озу.

anonymous ()

swappiness — это вероятность того, что при нехватке памяти система будет сбрасывать данные в своп, а не вытеснять файловый кеш.

Насколько рано система начнёт что-то сбрасывать в своп и насколько часто будет это делать раньше определялось по четверти размера min_free_mem (ранее дефолтно 256МБ, соответственно четверть от этого — 64МБ). Сейчас появился параметр watermark_scale_factor, который по дефолту стоит в 0.1% от всей оперативки — в Вашем случае это всего 7.7МБ. Увеличьте его в 10 раз (дефолт там 10, соответственно должно быть 100) и поведение должно вернуться как было.

chaos_dremel ★★ ()
Последнее исправление: chaos_dremel (всего исправлений: 1)

UPD. min_free_kbytes считается от оперативки. Для 8ГБ оно будет примерно 11.5МБ

Тогда по идее watermark_scale_factor надо наоборот уменьшать.

chaos_dremel ★★ ()

В Debian при включении zswap и zram при не нулевом использовании swap на zram-диске пусто. По крайней мере до какого-то придела заполнения swap так.

Может зря панику поднимаешь?

Radjah ★★★★★ ()
Ответ на: комментарий от chaos_dremel

Так что, чтобы активно свапить вместо фриза стоит ставить swappiness=1 watermark_scale_factor=1000? Есть пруфы?

anonymous ()
Ответ на: комментарий от Radjah

У меня не дебиан, а арч. Может это в системд 238 чет поменяли? Или меня прокляли?

tm4ig ()
Последнее исправление: tm4ig (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.