Odpowiedzi:
Jako alternatywa dla cpulimit:
Możesz rozpocząć clamscan za pomocą polecenia-nice, np
nice -n 19 clamscan.
Zobacz man niceszczegóły.
Robi NIE ograniczyć CPU, ale ma niższy priorytet procesu.
Istnieje również renicezmiana priorytetu uruchomionych procesów.
niceing jest tradycyjną drogą i nie bez powodu.
Zainstaluj cpulimit
sudo apt-get install cpulimit
Zapewnia różne metody ograniczania wykorzystania procesora przez proces, fooaby powiedzieć, 20%
Przez jego nazwa-procesu:
sudo cpulimit -e foo -l 20.
Według bezwzględnej nazwy ścieżki:
sudo cpulimit -P /usr/bin/foo -l 20
Według jego PID:
pidof foo. (powiedzmy, daje 1881)sudo cpulimit -p 1881 -l 20 /etc/cron.hourly/virusscanto nie jest proces. Jeśli chcesz ograniczyć clamscan, uruchom sudo cpulimit -e clamscan -l 15.
sudonie jest wymagany proces nie jest procesem systemowym. Dla przypomnienia
To miał być komentarz do odpowiedzi Clausi (które moim zdaniem jest najbardziej „poprawne” z punktu widzenia administracji systemu, ale moim zdaniem przerodziło się w coś zbyt dużego, by zmieściło się w polu komentarza).
Clamscan ma określoną ilość pracy, więc ograniczenie go do określonej prędkości oznacza, że po prostu potrwa dłużej. Dłużej utrzyma procesor w rywalizacji.
Pozwól mu działać tak szybko, jak to możliwe, co oznacza, że używasz swojego procesora w pełni. Uczynienie go bardzo „ładnym” oznacza, że pozwoli innym procesom wykonać swoją pracę przed własną. Oznacza to, że jeśli istnieje wiele innych zajętych procesów, tak, wykonanie własnej pracy zajmie dużo czasu, ale jeśli nic tam nie będzie, po prostu poradzi sobie z obciążeniem.
Jeśli używasz clamd z systememd, możesz skorzystać z tej CPUQuotaopcji.
Edytuj, /lib/systemd/system/clamav-daemon.serviceaby uwzględnić ten wiersz w [Service]sekcji:
CPUQuota=20%
Następnie uruchom ponownie usługę
sudo systemctl daemon-reload
sudo systemctl reload-or-restart clamav-daemon
Ten temat może być przydatny: HOWTO: Ustaw maksymalne procentowe zużycie procesora przez dowolny proces