Puncte:0

Cum să limitați nucleele CPU în Ubuntu / Virtualmin?

drapel is

INFORMATII DESPRE SISTEM
Tipul și versiunea sistemului de operare
*Ubuntu Linux 20.04.4

Virtualmin versiunea 6.17-3*

Sunt singurul proprietar al serverului meu și al tuturor serverelor virtuale. Vreau să limitez resursele folosite de servere. În prezent, am configurat utilizarea ram prin editarea fișierului limits.conf astfel -

oneofmyuser hard memlock 1024

Acum sunt confundat cu opțiunea CPU de acolo în coduri de exemplu -

#Unde:
#<domeniul> poate fi:
# - un nume de utilizator
# - un nume de grup, cu sintaxa @group
# - wildcard *, pentru intrarea implicită
# - wildcardul %, poate fi folosit și cu sintaxa %grup,
# pentru limita maxlogin
# - NOTĂ: limitele de grup și wildcard nu sunt aplicate root.
# Pentru a aplica o limită utilizatorului root, <domain> trebuie să fie
# rădăcina literală a numelui de utilizator.
#
#<tip> poate avea două valori:
# - „soft” pentru aplicarea limitelor soft
# - „greu” pentru aplicarea unor limite stricte
#
#<item> poate fi unul dintre următoarele:
# - core - limitează dimensiunea fișierului de bază (KB)
# - date - dimensiunea maximă a datelor (KB)
# - fsize - dimensiunea maximă a fișierelor (KB)
# - memlock - spațiu maxim de adrese blocat în memorie (KB)
# - nofile - numărul maxim de descriptori de fișier deschis
# - rss - dimensiunea maximă a setului rezident (KB)
# - stivă - dimensiunea maximă a stivei (KB)
# - CPU - timp maxim CPU (MIN)
# - nproc - numărul maxim de procese
# - ca - limită de spațiu de adrese (KB)
# - maxlogins - numărul maxim de autentificări pentru acest utilizator
# - maxsyslogins - numărul maxim de autentificări pe sistem
# - prioritate - prioritatea cu care rulează procesul utilizatorului
# - blocări - numărul maxim de blocări de fișiere pe care utilizatorul le poate deține
# - sigpending - numărul maxim de semnale în așteptare
# - msgqueue - memoria maximă utilizată de cozile de mesaje POSIX (octeți)
# - frumos - maxim nice prioritate permisă pentru a crește la valori: [-20, 19]
# - rtprio - prioritate maximă în timp real
# - chroot - schimbă rădăcina în director (specific Debian)

Cum îmi pot limita utilizatorul să folosească doar 1 sau 2 nuclee? Există o valoare de bază, dar ar trebui să fie în Kb? Vreau să mă limitez la, de exemplu, 2 nuclee? Deci cati kb? Tot pentru CPU? Care sunt valorile ideale pentru aceste opțiuni pentru un server normal cu site wordpress normal?

Puncte:1
drapel no

Pe Linux, puteți fixa un proces la un procesor cu set de sarcini. (Vedea set de sarcini de om). (Vezi si https://unix.stackexchange.com/questions/425065/linux-how-to-know-which-processes-are-pinned-to-which-core)

De asemenea, puteți utiliza cpulimit (vedea om cpulimit) care utilizează grupuri de control pentru a seta o limită de utilizare a procesorului, unde 100 ar fi echivalentul unui procesor.

Pentru a utiliza oricare dintre acestea, va trebui să aflați ce proces este lansat pentru utilizator și să adăugați comenzile de mai sus. Nu sunt familiarizat cu Virtualmin, dar fiind open source bănuiesc că vei putea afla de unde lansează aceste procese destul de ușor, grepând codul sursă.

Timpul CPU în limite.conf este timpul CPU în minute, așa cum se arată în coloana Timp de top deci este doar o măsură a cât timp este permis să ruleze exclusiv procesul.

Valoarea „core” din limits.conf (vezi limitele omului.conf) se referă la dimensiunea unui fișier dump de bază, care este un dump pe care îl puteți activa pentru un proces dacă se blochează, pentru depanare.

Fundalul este că Linux a fost proiectat să facă exact opusul - să răspândească sarcinile pe CPU-uri - și este extrem de bun la asta. Singurul motiv pentru a limita în mod rezonabil sarcinile la un procesor pe o mașină cu mai multe nuclee, este să faci ceva cu sincronizare perfectă - sau atacuri de sincronizare.

Alte opțiuni sunt blocarea sistemului de operare pe anumite nuclee din bootloader sau puteți emula CPU-uri singulare sau puteți rula containere fixate pe anumite procesoare.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.