Jak modyfikować zmienne jądra Linux za pomocą polecenia Sysctl

Jak modyfikować zmienne jądra Linux za pomocą polecenia Sysctl

Możesz skonfigurować kilka parametrów lub strojów Linuksa (jądro) do kontrolowania jego zachowania, na żądanie lub na żądanie. Sysctl jest powszechnie używanym narzędziem wiersza poleceń do modyfikowania lub konfigurowania parametrów jądra w czasie wykonywania. Można znaleźć stroje jądra wymienione w ramach /proc/sys/ informator.

Jest zasilany przez Procfs (PROC File System), pseudo systemu plików w systemie Linux i innych systemów operacyjnych UNIX, które zapewnia interfejs struktur danych jądra. Przedstawia informacje o procesach i dodatkowych informacji systemowych.

Poniżej znajduje się 10 przydatnych Sysctl Polecenia przykłady, których można użyć podczas administrowania działającym systemem Linux. Zauważ, że potrzebujesz uprawnień root, aby uruchomić Sysctl polecenie, w przeciwnym razie użyj polecenia sudo podczas go wywoływania.

Spis treści

1
  • Przykłady polecenia Sysctl w Linux
  • 1. Wymień wszystkie parametry jądra w Linux
  • 3. Wymień wszystkie nazwy zmiennych jądra
  • 3. Znajdź określone zmienne jądra w Linux
  • 4. Wymień wszystkie zmienne jądra, w tym przestarzałe
  • 5. Wymień określoną wartość zmiennej jądra
  • 6. Tymczasowo napisz zmienną jądra
  • 7. Napisz zmienną jądra na stałe
  • 8. Załaduj sysctl.Zmienne Conf w Linux
  • 9. Załaduj ustawienia z niestandardowych plików konfiguracyjnych
  • 10. Załaduj ustawienia pasujące do wzoru

Przykłady polecenia Sysctl w Linux

W tym przewodniku wyjaśnimy 10 praktycznych przykładów poleceń sysctl, których można użyć w systemie Linux.

1. Wymień wszystkie parametry jądra w Linux

Aby wymienić wszystkie aktualnie dostępne parametry jądra, uruchom polecenie SYSCTL z -A Lub --Wszystko flaga jak pokazano.

$ sudo sysctl -a lub $ sudo sysctl -All 

Zmienne są wyświetlane w tym formacie:

. =  

Na przykład,

jądro.ostype = Linux 
Sprawdź parametry jądra w Linux

3. Wymień wszystkie nazwy zmiennych jądra

Aby wydrukować tylko nazwy zmiennych bez ich wartości, użyj -N opcja jak pokazano.

$ sudo sysctl -a -n 
Sprawdź nazwy zmiennych jądra w Linux

3. Znajdź określone zmienne jądra w Linux

Aby znaleźć określoną zmienną, możesz odfiltrować wyjście Sysctl Na przykład przez polecenie GREP, aby odfiltrować dowolną zmienną powiązaną z pamięć Zarządzanie, możesz uruchomić następujące polecenie:

$ sudo sysctl -a | Pamięć GREP lub $ sudo sysctl -All | pamięć grep 
Sprawdź zmienną pamięci jądra w Linux

4. Wymień wszystkie zmienne jądra, w tym przestarzałe

Sysctl Polecenie pokazuje również zmienne przestarzałe wraz z listą wszystkich dostępnych zmiennych za pomocą --przestarzałe flaga jak pokazano.

$ sudo sysctl -a - -deprecated lub $ sudo sysctl -a - -deprecated | pamięć grep 

5. Wymień określoną wartość zmiennej jądra

Czytać Sysctl zmienna i jej wartości, określ nazwę zmiennej jako argument dla Sysctl polecenia w następujący sposób. Ten przykład pokazuje, jak czytać jądro.ostype zmienny.

jądro $ sudo sysctl.ostype jądro.ostype = Linux 

6. Tymczasowo napisz zmienną jądra

Aby tymczasowo zapisać zmienne, po prostu określ zmienną w tym formacie.

.= 

Poniższy przykład pokazuje, jak zwiększyć maksymalny rozmiar kolejki odbiorczej, która przechowuje ramki zebrane z bufora pierścienia Nic (Karta sieciowa), po otrzymaniu z sieci. Rozmiar kolejki można zmodyfikować za pomocą internet.rdzeń.netdev_max_backlog zmienna jak pokazano.

$ sudo sysctl net.rdzeń.netdev_max_backlog $ sudo sysctl net.rdzeń.netdev_max_backlog = 1200 $ sudo sysctl net.rdzeń.netdev_max_backlog 
Tymczasowo ustaw zmienną jądra

7. Napisz zmienną jądra na stałe

Sysctl może również zapisywać zmienne na stałe w pliku konfiguracyjnym. Aby to osiągnąć, użyj -w opcja i określ plik konfiguracyjny Zmienna i jego wartość zostaną dołączone do, w tym przypadku, tak jest /etc/sysctl.conf, Domyślny plik konfiguracyjny SYSCTL:

$ sudo sysctl -w net.rdzeń.netdev_max_backlog = 1200 >> /etc /sysctl.conf 

Aby zapisać pliki na stałe w niestandardowym, określ lokalizację pliku w następujący sposób. Czasami możesz nie utworzyć pliku w określonych lokalizacjach, nawet po wywołaniu Sysctl polecenie za pomocą polecenie sudo.

W takim przypadku przejdź do konta głównego (jeśli masz uprawnienia) i uruchom polecenie ponownie, jak pokazano.

$ sudo sysctl -w net.rdzeń.netdev_max_backlog = 1200 >> /etc /sysctl.D/10-TEST SETTINGS.conf $ sudo su # sysctl -w net.rdzeń.netdev_max_backlog = 1200 >> /etc /sysctl.D/10-TEST SETTINGS.conf 
Ustaw zmienną jądra na stałe

Alternatywnie możesz utworzyć nowy plik konfiguracyjny w /etc/sysctl.D/ katalog jak pokazano:

$ sudo vim /etc /sysctl.D/10-TEST SETTINGS.conf 

Następnie dodaj parametry jądra, w nim jeden na wiersz, jak pokazano.

internet.rdzeń.netdev_max_backlog = 1200 użytkownik.Max_net_namespaces = 63067 VM.OverCommit_Memory = 0 

Następnie zapisz plik i zamknij go. Aby załadować ustawienia z właśnie utworzonego pliku niestandardowego, użyj -P Lub --obciążenie flaga.

$ sudo sysctl -p /etc /sysctl.D/10-TEST SETTINGS.conf lub $ sudo sysctl - -load = /etc /sysctl.D/10-TEST SETTINGS.conf 

8. Załaduj sysctl.Zmienne Conf w Linux

Aby ponownie załadować ustawienia ze wszystkich plików konfiguracyjnych systemu bez ponownego uruchomienia, wydaj następujące polecenie.

$ sudo sysctl - -system 

Powyższe polecenie odczytuje wszystkie pliki konfiguracyjne systemu z tych katalogów w tej kolejności:

/run/sysctl.D/*.conf /etc /sysctl.D/*.conf/usr/local/lib/sysctl.D/*.conf/usr/lib/sysctl.D/*.conf /lib /sysctl.D/*.conf /etc /sysctl.conf 

9. Załaduj ustawienia z niestandardowych plików konfiguracyjnych

Możesz także ponownie załadować ustawienia zmiennych z niestandardowego pliku konfiguracyjnego Sysctl, jak pokazano.

$ sudo sysctl -p/etc/sysctl.D/10-TEST SETTINGS.conf lub $ sudo sysctl - -load = /etc /sysctl.D/10-TEST SETTINGS.conf 

10. Załaduj ustawienia pasujące do wzoru

Aby zastosować tylko ustawienia pasujące do określonego wzoru, użyj -R Lub --wzór następująco. Zauważ, że wzór wykorzystuje rozszerzoną składnię wyrażenia regularnego, oto kilka przykładów:

$ sudo sysctl - -System - -pattern '^net.IPv6 '$ sudo sysctl -System -r pamięć 
Załaduj ustawienia pasujące do wzoru

W tym przewodniku wyjaśniliśmy 10 Sysctl Przykłady poleceń, których możesz użyć do zarządzania działającym systemem Linux. Aby uzyskać więcej informacji, przeczytaj Sysctl Strona Man (Man Sysctl).