GNU/Linux >> Linux Esercitazione >  >> Linux

Comando Sysctl in Linux

In qualità di amministratore di sistema Linux, a volte potrebbe essere necessario modificare il comportamento del kernel predefinito. Ad esempio, potrebbe essere necessario abilitare la chiave magica SysRq o aumentare il numero di connessioni che il kernel accetterà. I parametri del kernel possono essere impostati durante la compilazione del kernel, all'avvio del sistema o in fase di esecuzione.

Questo articolo spiega come utilizzare sysctl comando per visualizzare e modificare i parametri del kernel in fase di esecuzione.

Utilizzo di sysctl per visualizzare i parametri del kernel #

Per visualizzare tutti i parametri correnti del kernel, invocare sysctl comando con il -a opzione:

sysctl -a

Questo produrrà un elenco di grandi dimensioni simile al seguente in cui ogni riga include il nome del parametro e il suo valore:

abi.vsyscall32 = 1
debug.exception-trace = 1
debug.kprobes-optimization = 1
...

Tutti gli utenti possono visualizzare i parametri correnti del kernel; solo l'utente root può modificare i propri valori.

Puoi controllare il valore di un singolo parametro passando il suo nome come argomento a sysctl . Ad esempio, per controllare l'attuale valore di swappiness digitare:

sysctl vm.swappiness
vm.swappiness = 60

Swappiness è una proprietà del kernel Linux che definisce la frequenza con cui il sistema utilizzerà lo spazio di scambio.

Il sysctl il comando legge le informazioni da /proc/sys directory. /proc/sys è una directory virtuale che contiene oggetti file che possono essere utilizzati per visualizzare e impostare i parametri del kernel correnti.

È inoltre possibile visualizzare il valore di un parametro visualizzando il contenuto del file appropriato. L'unica differenza è come viene rappresentato il file. Ad esempio, entrambi sysctl vm.swappiness e cat /proc/sys/vm/swappiness darà lo stesso output. Quando si utilizza sysctl le barre della directory vengono sostituite con punti e proc.sys parte è presupposta.

Utilizzo di sysctl per modificare i parametri del kernel #

Per impostare un parametro del kernel in fase di esecuzione, eseguire sysctl comando seguito dal nome e dal valore del parametro nel seguente formato:

sysctl -w parameter=value

Se il valore contiene spazi vuoti o caratteri speciali, racchiudere il valore tra virgolette. Puoi anche passare più parameter=value coppie nello stesso comando.

Fai molta attenzione quando modifichi le impostazioni del kernel su un sistema di produzione poiché potrebbe rendere il kernel instabile e dovrai riavviare il sistema.

Ad esempio, per abilitare l'inoltro di pacchetti IPv4 dovresti eseguire:

sysctl -w net.ipv4.ip_forward=1

La modifica ha effetto immediato, ma non è persistente. Dopo un riavvio del sistema, viene caricato il valore predefinito.

Per impostare un parametro in modo permanente, dovrai scrivere le impostazioni in /etc/sysctl.conf o un altro file di configurazione nel /etc/sysctl.d directory:

sysctl -w net.ipv4.ip_forward=1 >> /etc/sysctl.conf

Un altro modo per modificare i parametri è usare echo comando per scrivere le impostazioni nei file nel /proc/sys directory. Ad esempio, invece di eseguire il comando precedente, puoi utilizzare:

echo 1 > /proc/sys/net/ipv4/ip_forward

Il -p l'opzione consente di caricare le impostazioni da un file di configurazione:

sysctl -p /etc/sysctl.d/file_name.conf

Quando non viene fornito alcun file, sysctl legge il /etc/sysctl.conf file.

Conclusione #

Il sysctl comando consente di visualizzare e modificare i parametri del kernel Linux.

Sentiti libero di lasciare un commento in caso di domande.


Linux
  1. Comando Linux mv

  2. Linux du comando

  3. comando IP Linux

  4. comando cd di Linux

  5. Esempi di comandi sysctl in Linux

Comando W in Linux

Al comando in Linux

Comando Modprobe in Linux

Comando Df in Linux

comando sysctl in Linux

Come utilizzare il comando sysctl in Linux