В течение нескольких часов тестирования я обнаружил, что клиент синхронизации рабочего стола nextcloud для Ubuntu 20.04 (appimage или ppa), похоже, имеет ошибку, из-за которой ... если происходит обычная ошибка синхронизации файла nextcloud, файл подкачки на сервере Debian 10.5 становится полностью заполненным. (clamscan также увеличивает нагрузку от 45% до 100%, когда kswapd0 поднимается до 100% загрузки процессора). Другие мои клиенты синхронизации не вызывают этой проблемы (мобильные, собственные «онлайн-аккаунты» Ubuntu).
верхний вывод команды
топ - 16:08:59 вверх 22 мин, 2 пользователя, средняя загрузка: 89,42, 84,04, 55,66
Задания: 378 всего, 12 бегущих, 359 спящих, 0 остановленных, 7 зомби
%Cpu(s): 3,4 мкс, 57,0 си, 0,0 ни, 0,1 ид, 39,5 ва, 0,0 привет, 0,0 си, 0,0 ст
МБ памяти: всего 3946,8, 90,2 бесплатно, 3766,4 использовано, 90,1 бафф/кэш
Обмен МиБ: всего 6144,0, 0,0 бесплатно, 6144,0 использовано. 4.9 использовать память
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
36 корень 30 10 0 0 0 R 98,3 0,0 12:43,68 kswapd0
1691 mysql 20 0 1739540 2376 0 S 3,9 0,1 0:34,59 mysqld
1300 корень 10 -10 116752 3400 0 Д 3,3 0,1 0:41,96 АлиЮнДун
1544 корень 20 0 806108 640 0 Д 2.4 0.0 0:09.45 алиюн-сервис
161 корень 20 0 4556 1904 1844 S 0,9 0,0 0:10,60 plymouthd
2746 git 20 0 1374728 6020 0 S 0.7 0.1 0:07.23 gitea
1114 корень 20 0 24312 284 0 S 0.5 0.0 0:03.74 AliYunDunUpdate
5805 web2 20 0 292472 215456 920 D 0,4 5,3 0:05,43 clamscan
155 корень 0 -20 0 0 0 I 0.3 0.0 0:07.11 kworker/0:1H-kbl+
232 root 20 0 70888 284 88 D 0.3 0.0 0:03.74 systemd-journal
936 memcache 20 0 408168 0 0 S 0,3 0,0 0:02.19 memcached
3492 корень 20 0 11380 756 556 Ч 0,3 0,0 0:03,28 верх
1 корень 20 0 170192 2972 0 D 0,3 0,1 0:11,03 systemd
1041 redis 20 0 54244 428 0 D 0.3 0.0 0:03.28 redis-сервер
4029 www-данные 20 0 339376 2436 16 D 0,3 0,1 0:00,85 /usr/sbin/apach
Я пытался использовать nice и cpulimit, чтобы предотвратить достижение kswapd0 100% и полное потребление памяти подкачки... но kswapd0, кажется, просто выполняет обе команды независимо от того, выполняются ли они по отдельности или одновременно, и потребляет 100% процессора и подкачки, не оставляя мне другого выбора, кроме перезагрузить сервер, чтобы очистить кеш подкачки.
Я уже уменьшил swapiness до нуля. И я пробовал:
Чтобы освободить кеш страниц:
эхо 1 > /proc/sys/vm/drop_caches
Чтобы освободить восстанавливаемые объекты плиты (включая дентри и иноды):
эхо 2 > /proc/sys/vm/drop_caches
Чтобы освободить slab-объекты и кэш страниц:
эхо 3 > /proc/sys/vm/drop_caches
Поскольку я полагаю, что ошибки синхронизации файлов nextcloud станут обычным явлением в будущем, может ли кто-нибудь предложить, как я могу смягчить / предотвратить простую ошибку синхронизации файлов, которая может вывести из строя весь мой сервер?
ОБНОВИТЬ
После некоторого дополнительного тестирования и чтения... кажется, что ClamAV запускает clamscan при каждой загрузке и электронной почте, что увеличивает использование ЦП до 100%. Отношение к nextcloud в том, что у меня активирован антивирус для файлов. Поэтому мои загрузки синхронизации файлов также запускают clamscan, а затем перегружают сервер.
Решение, по-видимому, состоит в том, чтобы прекратить использование clamscan, а вместо этого внедрить clamav-daemon. Я сейчас изучаю проблему, но если кто-нибудь подскажет, как переключиться с clamscan на clamav-daemon. Буду премного благодарен.