Qua nhiều giờ thử nghiệm, tôi đã phát hiện ra rằng cả ứng dụng khách đồng bộ hóa máy tính để bàn nextcloud cho ubuntu 20.04 (appimage hoặc ppa) dường như đều có lỗi ở chỗ... nếu xảy ra lỗi đồng bộ hóa tệp nextcloud phổ biến, kswapd0 tăng vọt lên 100% CPU và tệp hoán đổi trên máy chủ Debian 10.5 sẽ được lấp đầy hoàn toàn. (clamscan cũng tăng đột biến từ 45% đến 100% trong quá trình kswapd0 tăng lên 100% CPU). Các ứng dụng khách đồng bộ hóa khác của tôi không gây ra sự cố này ("tài khoản trực tuyến" dành cho thiết bị di động, ubuntu gốc).
đầu ra lệnh hàng đầu
trên cùng - 16:08:59 lên 22 phút, 2 người dùng, tải trung bình: 89,42, 84,04, 55,66
Nhiệm vụ: tổng cộng 378, 12 đang chạy, 359 đang ngủ, 0 đã dừng, 7 zombie
%Cpu(s): 3,4 us, 57,0 sy, 0,0 ni, 0,1 id, 39,5 wa, 0,0 hi, 0,0 si, 0,0 st
MiB Mem : tổng cộng 3946,8, 90,2 miễn phí, 3766,4 đã sử dụng, 90,1 buff/cache
MiB Swap: tổng cộng 6144,0, 0,0 miễn phí, 6144,0 đã sử dụng. Bản phát hành 4.9
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
36 gốc 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 gốc 10 -10 116752 3400 0 D 3,3 0,1 0:41,96 AliYunDun
1544 root 20 0 806108 640 0 D 2.4 0.0 0:09.45 dịch vụ aliyun
161 gốc 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 gốc 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 quét ngao
gốc 155 0 -20 0 0 0 Tô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 memcache
gốc 3492 20 0 11380 756 556 R 0,3 0,0 0:03,28 trên cùng
1 gốc 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-server
4029 dữ liệu www 20 0 339376 2436 16 D 0,3 0,1 0:00,85 /usr/sbin/apach
Tôi đã thử sử dụng nice và cpulimit để ngăn kswapd0 đạt 100% và tiêu thụ hoàn toàn bộ nhớ trao đổi.. nhưng kswapd0 dường như chỉ cung cấp năng lượng thông qua cả hai lệnh dù chạy riêng lẻ hay đồng thời và tiêu thụ 100% CPU và trao đổi, khiến tôi không còn lựa chọn nào khác ngoài để khởi động lại máy chủ để xóa bộ đệm trao đổi.
Tôi đã giảm tính hoán đổi về 0. Và tôi đã thử:
Để giải phóng bộ đệm trang:
tiếng vang 1 > /proc/sys/vm/drop_caches
Để giải phóng các đối tượng tấm có thể thu hồi (bao gồm răng cưa và nút):
tiếng vang 2 > /proc/sys/vm/drop_caches
Để giải phóng các đối tượng phiến và bộ đệm trang:
tiếng vang 3 > /proc/sys/vm/drop_caches
Vì tôi cho rằng lỗi đồng bộ hóa tệp nextcloud sẽ là một điều phổ biến trong tương lai, ai đó có thể đề xuất cách tôi có thể giảm thiểu/ngăn chặn lỗi đồng bộ hóa tệp đơn giản làm sập toàn bộ máy chủ của tôi không?
CẬP NHẬT
Sau một số thử nghiệm và đọc bổ sung.. có vẻ như ClamAV đang chạy clashscan trên mỗi lần tải lên và gửi email, điều này đang làm tăng mức sử dụng CPU lên 100%. Liên quan đến nextcloud là tôi đã kích hoạt anitvirus cho các tệp. Do đó, các tệp tải lên đồng bộ hóa tệp của tôi cũng bắt đầu quét ngao, sau đó làm quá tải máy chủ.
Giải pháp dường như là ngừng sử dụng Clamscan mà thay vào đó triển khai Clamav-daemon. Tôi đang nghiên cứu vấn đề này, nhưng nếu ai đó có thể cho tôi biết cách chuyển từ clashscan sang clashav-daemon. Tôi sẽ đánh giá cao nó.