Điểm:0

Giới hạn CPU & lời khuyên kswapd0 đã được đưa ra

lá cờ cn

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ó.

Martin avatar
lá cờ kz
chỉ là một suy nghĩ: Tôi sẽ xem xét tắt hoàn toàn không gian hoán đổi cho các thử nghiệm của bạn: ```swapoff -a``` - theo cách đó, trình gặt OOM kernel sẽ giết quá trình ăn hết bộ nhớ trước khi chuyển đổi... Và ```kswapd``` là một tiến trình kernel, bạn chỉ có thể cpulimit / nice tiến trình trong không gian người dùng!
Maestro223 avatar
lá cờ cn
Tôi đã bẻ khóa nó ... chỉ cần đăng câu trả lời.
Điểm:0
lá cờ cn

Vấn đề được mô tả ở trên về cơ bản là một "ảo ảnh" được tạo ra bởi clashscan. Đây là cách tôi giải quyết nó:

Vấn đề trên có hai mặt, có nghĩa là amavis đang chạy clashscan thay vì clash (đã chạy trong nhiều tháng mà không có vấn đề gì, tôi cho rằng một bản cập nhật đã thay đổi điều gì đó), trong khi đó, phần mềm chống vi-rút nextcloud được mặc định sử dụng clashscan thay vì clashd. Do đó, bất cứ khi nào tôi kết nối ứng dụng khách Nextcloud và thấy "lỗi đồng bộ hóa", thì nó đang che giấu sự thật rằng trình quét ngao làm quá tải máy chủ, vì các lần quét ngao cho người dùng nextcloud chiếm khoảng 29% đồng bộ hóa CPU/tệp.

Tôi đã phát hiện ra sự cố amavis/clamscan bằng cách tắt hoàn toàn đồng bộ hóa nextcloud và chỉ xem lệnh trên cùng.

Dung dịch:

1.) #dpkg-cấu hình lạiclav-daemon #change amavis để chạy clashd (xem tài liệu) <- Vì bất kỳ lý do gì, cấu hình này không cố định và hệ thống đã hoàn nguyên sau khi khởi động lại. Đối với một phương tiện vĩnh viễn để đặt giới hạn CPU cho chức năng quét trên các máy Debian/Ubuntu, hãy thêm:
CPUAccounting=true CPUQuota=X% đến:
#nano /etc/systemd/system/clamav-daemon.service.d/extend.conf
2.) Thay đổi mặc định diệt virus của nextcloud từ quét ngao đến daemon clashav (ổ cắm)

Điều này sẽ giải quyết vấn đề của bạn.

Một cái gì đó hữu ích, nhưng tùy chọn ở đây. Đối với những người đang vận hành môi trường lưu trữ chia sẻ với debian/ubuntu được cài đặt mặc định systemd/cgroups. Tôi đã tìm thấy một hướng dẫn tuyệt vời về cách giới hạn mức sử dụng CPU của người dùng:

https://www.webhostingtalk.com/showthread.php?t=1832382

Với điều này, bạn có thể giới hạn mức sử dụng CPU tổng thể của người dùng, để tránh việc máy khách làm hỏng máy chủ do cài đặt ứng dụng không hợp lệ.

Vấn đề này làm tôi mất 4 ngày .. hy vọng câu trả lời sẽ giúp được người khác.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.