Optimieren Sie Ihren Linux-Kernel mit sysctl
Nicht viele der heutigen Linux-Benutzer erinnern sich an die Tage, als Sie Ihren eigenen Kernel kompilieren konnten (und manchmal mussten). Wenn Sie ein spezielles Gerät oder spezielle Anforderungen für den Kernel hatten, gab es keine andere Möglichkeit, ihn zum Laufen zu bringen. Heutzutage arbeiten die meisten Kernel mit der meisten Hardware sofort. Aber es gibt Zeiten, in denen Sie ein bisschen mehr Leistung herausholen oder sogar Ihren Kernel im Handumdrehen aufhellen könnten. Das können Sie mit dem machen sysctl Befehl.
Mit diesem Befehl können Sie zahlreiche Kernel-Parameter im laufenden Betrieb aktivieren oder deaktivieren oder eine bestimmte Datei bearbeiten, um dieselben Parameter zu optimieren. In beiden Fällen können Sie alle in aufgeführten Parameter ändern / proc / sysWenn Sie also sehen möchten, wie viel Sie ändern können, sehen Sie sich jedes der Unterverzeichnisse unter an / proc / sys Verzeichnis. Sie können beispielsweise die Anzahl der maximalen Dateideskriptoren auf Ihrem Computer ändern, indem Sie den Parameter kern.maxfiles optimieren.
HINWEIS: Sie sollten auf jeden Fall vorsichtig sein, wenn Sie mit diesem Befehl spielen, da dies bei falscher Änderung eines bestimmten Parameters zu Datenverlust oder Schlimmerem führen kann.
Verwendung
Die grundlegende Verwendung des Befehls ist sysctl OPTIONEN PARAMETER VARIABL. Die Variable für einen Parameter hat entweder die Form eines Booleschen Werts, einer Zeichenfolge oder einer Zahl. Sie müssen diesen Befehl entweder als Root-Benutzer oder mit Hilfe von ausführensudo. Eines der ersten Dinge, die Sie möglicherweise tun möchten, ist die Ausgabe des Befehls sudo sysctl -a. Dieser Befehl zeigt alle einstellbaren Variablen auf Ihrem Computer an. Die Liste sieht ungefähr so aus:
kernel.sched_min_granularity_ns = 2000000
kernel.sched_latency_ns = 10000000
kernel.sched_wakeup_granularity_ns = 2000000
kernel.sched_shares_ratelimit = 500000
kernel.sched_shares_thresh = 4
kernel.sched_features = 15834235
kernel.sched_migration_cost = 500000
kernel.sched_nr_migrate = 32
kernel.sched_time_avg = 1000
kernel.timer_migration = 1
kernel.sched_rt_period_us = 1000000
kernel.sched_rt_runtime_us = 950000
kernel.sched_compat_yield = 0
kernel.panic = 0
kernel.core_uses_pid = 0
kernel.core_pattern = core
kernel.core_pipe_limit = 0
kernel.tainted = 0
kernel.latencytop = 0
kernel.real-root-dev = 0
kernel.print-fatal-Signale = 0
Insgesamt gibt es auf einem durchschnittlichen Linux-System über 500 einstellbare Parameter. Das ist viel zu tun. Wenn Sie diese Liste genauer untersuchen möchten, geben Sie den Befehl ein sudo sysctl -a> abstimmbar und öffnen Sie diese Datei dann mit Ihrem Lieblingseditor. Lassen Sie uns dies mit etwas tun, das sofort nützlich ist. Angenommen, Sie möchten wieder aktivieren, wenn einige Distributionen deaktiviert sind. Stellen wir zunächst sicher, dass Ihre Distribution dies deaktiviert hat. Tun Sie dies mit dem Befehl:
sudo sysctrl kernel.ctrl-alt-del
Was Sie sehen sollten, ist die Ausgabe:
kernel.ctrl-alt-del = 0
Die obige Ausgabe informiert Sie tatsächlich darüber, dass diese Funktion deaktiviert wurde. Lassen Sie es uns aktivieren. Dazu geben Sie den folgenden Befehl ein:
sudo sysctl -w kernel.ctrl-alt-del = 1
Sie sollten die Ausgabe sehen:
kernel.ctrl-al-del = 1
Was Ihnen sagt, dass der Befehl erfolgreich war. Sie können dies natürlich mit dem folgenden Befehl auf den ursprünglichen Wert zurücksetzen:
sudo sysctl -w kernel.ctrl-alt-del = 0
Natürlich ist dies nur ein einfaches Beispiel dafür, was Sie mit dem einstellen können sysctl Befehl. Angesichts der Tatsache, dass es über 500 einstellbare Parameter gibt, können Sie Ihren Kernel so einstellen, dass er einige sehr spezifische Anforderungen erfüllt.
Abschließende Gedanken
Wie bei jedem Tool, das einen laufenden Kernel ändert, sollten Sie bei der Verwendung Vorsicht walten lassen sysctl. Möglicherweise möchten Sie diesen Befehl auf einer Nichtproduktionsmaschine üben, bevor Sie versuchen, Änderungen an einer Produktionsmaschine vorzunehmen. Und fangen Sie einfach an. Ändern Sie einige Parameter, die Ihren Computer nicht unbootbar machen, Ihre Festplatte nicht beschreibbar, Ihr Netzwerk nicht erreichbar usw.