[Guida] Sysadmin: come efficientare i processi in GNU/Linux e BSD
Esistono diversi modi per far funzionare meglio le applicazioni, rendendole più efficienti. Nella breve guida di oggi vi mostrerò proprio alcuni dei comandi, come nice o taskset, utili per i sysadmin GNU/Linux o BSD.
Sysadmin e processi simpatici
La prima tecnica che vi propongo, è forse il metodo maggiormente noto per migliorare l’uso della CPU. Su GNU/Linux, infatti, ma anche sui sistemi BSD, è possibile modificare la priorità di un processo usando il comando nice. Fin dai primi giorni di UNIX, l’idea è che un processo è tanto più simpatico quanto è minore la sua priorità, poiché lascia andare prima gli altri processi. Pertanto, maggiore è il valore di nice, minore è la priorità.
Il valore di nice può variare da -20, cui è associata la priorità più alta, a +19. Aumentare la simpatia di un processo non significa che non verrà eseguito. Paradossalmente, infatti, può anche ottenere tutto il tempo della CPU, se non c’è nient’altro con cui competere. A tal proposito, esistono anche alcuni tool che aiutano i sysadmin a configurare le priorità. In questo articolo, ad esempio, vi parlai di Ananicy, che permette di configurare regole custom per molte applicazione popolari. L’utilizzo di nice e renice segue una sintassi molto semplice, come nel seguente esempio:
renice +10 PID
Process Binding
Taskset è un comando utilizzabile per impostare o conoscere l’affinity della CPU con un particolare processo in esecuzione, dato il suo pid, o per lanciare un nuovo comando con una data affinity. L’affinity è una proprietà dello scheduler che lega un processo ad un determinato insieme di CPU. Andrete, in tal modo, a forzare il sistema poiché, di per sé, l’utilità di pianificazione del kernel tenta di mantenere i processi sulla stessa CPU il più a lungo possibile per motivi di prestazioni.
Pertanto, a differenza dei comandi per sysadmin di cui vi ho parlato in precedenza, taskset ha un range di utilizzo meno universale, ma permette comunque di ottenere incrementi prestazionali grazie anche ad un utilizzo più efficiente della cache. Dato un processo con PID 6197, l’istruzione per legarlo solo alla CPU 1, ad esempio, è la seguente:
taskset -pc 1 6197
In tutte quelle situazioni in cui volete rendere permanente il legame da un processo ed un insieme specifico di CPU, tuttavia, dovete creare un file drop-in per modificare la configurazione locale del vostro sistema, come nel seguente screenshot.
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.
[VIA]