swappiness является нулем, но подкачка все еще используется излишне

В моей системе Kubuntu 12.04 с SSD у меня есть обнуленный swappiness (как сообщается cat /proc/sys/vm/swappiness), но иногда система будет начинать использовать подкачку, даже при том, что использование памяти составляет только шестьдесят или семьдесят процентов (например, прямо сейчас Использование оперативной памяти составляет 64%, и использование подкачки составляет 3%). Действительно ли это нормально? Если так, почему? В противном случае, почему это происходит?

У меня есть идея, что это могло быть связано с отключением кэша в Firefox (который я делаю по той же причине, я установил swappiness на 0, то есть для уменьшения записей к диску); я думаю, что это могло бы говорить, что ниже, чем значение по умолчанию swappiness значения увеличит тенденцию ядра выгрузить такой материал. Это правильно? Но даже если так, я не вижу, почему любой свопинг вообще произошел бы, когда swappiness является нулем и существует все еще много RAM.

В случае, если необработанные числа имеют значение, эта машина имеет 2 ГБ памяти и раздел подкачки того же размера.

Отредактированный для добавления: Используя оба из методов, предложенных Rinzwind ниже, я нашел к моему удивлению, что существует несколько процессов с помощью подкачки, и Firefox не среди них. Крупнейшие пользователи являются компонентами KDE. Вот все процессы, делающие ненулевое использование из подкачки и объем подкачки, которую они используют (благодаря первому предложению Rinzwind):

kwin 15040 kB
plasma-desktop 11668 kB
ksmserver 4752 kB
kglobalaccel 4136 kB
kded4 3860 kB
kactivitymanage 3684 kB
kwalletd 3436 kB
knotify4 3052 kB
kdeinit4 2768 kB
bluedevil-helpe 2720 kB
kio_file 2492 kB
kio_file 2492 kB
klauncher 2464 kB
kio_thumbnail 2392 kB
Xorg 648 kB
cupsd 516 kB
polkitd 460 kB
udevd 380 kB
udevd 380 kB
udevd 376 kB
upowerd 280 kB
rsyslogd 212 kB
obex-data-serve 176 kB
ksysguardd 176 kB
avahi-daemon 176 kB
dbus-daemon 132 kB
avahi-daemon 92 kB
kwrapper4 84 kB
upstart-udev-br 80 kB
init 60 kB
bluetoothd 48 kB
x-session-manag 24 kB
NetworkManager 20 kB
udisks-daemon 16 kB
getty 16 kB
udisks-daemon 12 kB
kuiserver 8 kB

Таким образом, моя гипотеза опровергнута, и я еще более озадачен, чем прежде. Я подчеркиваю, что в этом конкретном использовании подкачки экземпляра внезапно пошел от нуля до трех процентов (в то время как я использовал Google Maps в Firefox, как это происходит). Почему это было бы намеченным поведением? И если это не, почему это происходит?

0
задан 13 April 2017 в 15:37

1 ответ

обнуленный swappiness не означает, что система НЕ использует подкачку. Это говорит ядру не подкачивать процессы из физической памяти максимально долго . И это также не начинает подкачивать, когда RAM израсходована полностью.

это нормальное? Если так, почему? В противном случае, почему это происходит?

единственный ответ на это, вероятно: поведение по умолчанию. Система решила, что это - лучшее действие для взятия.

<час>

Вы, вероятно, первая потребность определить процесс, который ответственен. Таким образом, это покажет подкачку, используемую для каждого процесса (выполненный как корень, или это сообщит только относительно процессов, выполненных Вашим пользователем):

for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less
<час>

существует инструмент в repos, названном smem (также выполнен как корень):

# smem -s swap -t -k -n
  PID User     Command                         Swap      USS      PSS      RSS 
    1 0        /sbin/init splash                  0   872.0K     2.2M     5.6M 
  285 0        /lib/systemd/systemd-journa        0     2.6M     2.6M     4.6M 
  307 0        /lib/systemd/systemd-udevd         0     2.1M     2.2M     4.4M 
  616 100      /lib/systemd/systemd-timesy        0   404.0K   435.0K     2.7M 
  711 0        /lib/systemd/systemd-logind        0   960.0K   986.0K     3.0M 
  715 104      /usr/sbin/rsyslogd -n              0     1.5M     1.5M     3.6M 
  721 0        /usr/sbin/NetworkManager --        0     6.7M     7.3M    17.4M 
  723 0        /sbin/cgmanager -m name=sys        0   364.0K   401.0K     2.6M 
  735 0        /usr/sbin/thermald --no-dae        0     1.2M     1.4M     8.7M 
  736 0        /usr/sbin/anacron -dsq             0   212.0K   238.0K     2.3M 
  741 105      /usr/bin/dbus-daemon --syst        0     1.9M     2.1M     5.4M 
  767 0        /usr/lib/x86_64-linux-gnu/u        0     1.0M     1.1M     5.7M 
 ...

 5097 0        su                                 0   480.0K   675.0K     3.5M 
 5098 0        bash                               0   520.0K     1.0M     3.8M 
 5112 0        /usr/bin/python /usr/bin/sm        0    11.8M    11.8M    14.2M 
-------------------------------------------------------------------------------
  134 12                                          0     1.3G     1.5G     3.3G 
<час>

, Если Вы следуете за этим и узнаете определенную программу, являющуюся ответственным редактированием в Ваш вопрос. И я также полагаю, что это будет Firefox. Это - пожиратель ресурсов, которого настолько изменяющиеся браузеры могли бы быть чем-то для рассмотрения.

0
ответ дан 29 September 2019 в 10:40

Другие вопросы по тегам:

Похожие вопросы: