Wie kann ich Standardeinstellungen für htop festlegen?

46

Gelegentlich muss ich Ressourcen auf mehreren Computern in unseren Rechenzentren auf Konsolidierungsempfehlungen und Ähnliches überprüfen. Ich bevorzuge htop, hauptsächlich wegen des interaktiven Gefühls und des Displays.

Gibt es eine Möglichkeit, einige Einstellungen für mein Setup für htop zu ändern? Eine Sache, die ich immer gezeigt haben möchte, ist beispielsweise die durchschnittliche CPU-Auslastung.

Wichtiger Hinweis: Das Einstellen auf bestimmte Boxen ist nicht machbar. Ich suche nach einer Möglichkeit, dies jedes Mal, wenn ich in die Box gehe, dynamisch einzustellen.

Ist das überhaupt möglich?

MrDuk
quelle
1
Ist es nicht das, was die Zahlen für Lastdurchschnitte an der Spitze zeigen? Diese Antwort erklärt, was sie bedeuten.
Anko

Antworten:

44

htophat einen Einrichtungsbildschirm, über F2den Sie den oberen Teil der Anzeige anpassen können, einschließlich Hinzufügen oder Entfernen eines Felds "Durchschnitt laden" und Festlegen seines Stils (Text, Leiste usw.).

Diese scheinen automatisch gespeichert zu werden $HOME/.config/htop/htoprc, was warnt:

# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.

Das heißt, die Bearbeitung erfolgt auf eigenes Risiko. Sie sollten es jedoch von einem System auf ein anderes übertragen können (Versionsunterschiede können gelegentlich zu Problemen führen).

Sie können auch eine Konfiguration einrichten, die Datei beenden und anschließend kopieren, sodass Sie eine Reihe unterschiedlicher Konfigurationen beibehalten können, indem Sie eine der Konfigurationen mit der anderen austauschen / verknüpfen htoprc.

Goldlöckchen
quelle
Vielen Dank. Ich habe nur blind htop config von einem gut aussehenden Server auf einen hässlich aussehenden Server kopiert . Der hässlich aussehende Server sah großartig aus!
Thamme Gowda
1
Beachten Sie auch, dass htop diese Datei nicht aktualisieren kann und Ihre Änderungen unbemerkt nicht speichert, wenn Sie die Berechtigung für Ihren htoprc verlieren, indem Sie ihn beispielsweise versehentlich als root / sudo berühren.
Cerin
@Cerin Dies ist ein wichtiger Punkt - ich denke, es wäre großartig, wenn der Autor ihn zu seiner Antwort hinzufügen würde.
Amr Bekhit
30

Am einfachsten ist es, das Setup im Programm zu verwenden und dann das Programm mit zu speichern und zu beenden F10, nicht mit CTRL+ C. Beim nächsten Mal können Sie das Programm wie gewünscht schließen.

keiner
quelle
7
TL; DR: Beenden Sie mit F10, nicht mit STRG-C.
KamilleCase
Zumindest unter Linux speichert das Beenden mit 'Q' Ihre Änderungen NICHT ...; (
ljwobker 29.12.17
2
Um F10 vom Öffnen des Datei-Menüs des Terminal-Fensters in Ubuntu zu entbinden, gehen Sie in einem Terminal-Fenster wie folgt vor: Bearbeiten> Einstellungen> Allgemein: Deaktivieren Sie das Kontrollkästchen 'Menübeschleunigungstaste aktivieren (standardmäßig F10)'
David Oliver
3

Für alle Mac-Benutzer kann sich die htopKonfigurationsdatei an zwei Stellen befinden:

  1. Unter einem Unterverzeichnis config in home: $HOME/.config/htop/htoprc
  2. direkt im Home - Verzeichnis: $HOME/.htoprc,

Die erste Option (unter .config/htop/wird bevorzugt - wie in der Manpage von htop erwähnt - sowie meine eigenen Experimente.

Auf einem MacBook Pro von 2014 wurde der zweite Speicherort verwendet, während auf einem MacBook Pro von 2017 der erste Speicherort verwendet wurde. In beiden Fällen wurde jedoch Homebrew für die Installation verwendet htop, und auf beiden Laptops (Stand 29.10.17) wird macOS 10.12 ausgeführt .6. (Danke an @iconoclast für den Hinweis auf die Diskrepanz)

In beiden Fällen kann das gleiche Konfigurationsdateiformat verwendet werden. In beiden Fällen wird empfohlen, die Einstellungen über htopdas eigene Setup zu ändern, anstatt die Konfigurationsdatei direkt zu bearbeiten, da sie automatisch generiert wird.

TCAllen07
quelle
auf meinem Mac ist es um$HOME/.config/htop/htoprc
iconoclast
Ja, das gilt auch für meinen eigenen neueren MBP. Ich bin nicht sicher, warum der Unterschied besteht, aber ich habe die Antwort aktualisiert, um sie wiederzugeben. Danke für den Hinweis!
TCAllen07
1

Hatte nur das gleiche Problem, aber das Beenden von htop mit F10 half nicht, die Einstellungen zu speichern. Es schien, dass dieser Benutzer ~/.configzu root gehörte.

Um dies zu überprüfen:

$user@host:~$ ls -hal ~ |grep config

drwx------  4 root root 4.0K Mar 25  2015 .config

Wenn es einen anderen Benutzer als Sie auflistet, sollten Sie chowndas Verzeichnis angeben, in das Ihr htop schreiben kann:

sudo chown user:mygroup ~/.config

(Ersetzen Sie "user" und "mygroup" durch Ihren Benutzernamen und Ihre Gruppe)

Es gibt einen "weicheren" Weg, wenn Sie sich nur selbst die Erlaubnis zum Schreiben geben, aber den Eigentümer nicht ändern. Aber ich kann mir nicht vorstellen, warum man ihre nicht besitzen sollte ~/.config. Bitte sag mir, wenn ich falsch liege.

Nick Volynkin
quelle
Auch darauf gestoßen. Ich weiß, ich habe sudo htopirgendwann ausgeführt, was wahrscheinlich zum Speichern der Konfigurationsdatei mit dem Benutzer und der Gruppe von root führte.
1

Okay, obwohl dieser Beitrag alt sein mag, hatte ich das gleiche Problem.

Verwenden Sie das Setup, das htop bereitstellt, das der Fragesteller bereits ausgeführt hat, aber die Einstellungen wurden nicht auf SSH gespeichert, was wahrscheinlich daran liegt, dass es kein htoprc gibt. Nach dem Erstellen wird es von htop zum Speichern und Laden von Einstellungen verwendet, anstatt die Standardeinstellungen zu übernehmen.

Nachdem ich @goldilocks und @ TCAllen07 gelesen hatte, versuchte ich zu überprüfen, ob ich überhaupt einen htoprc hatte. Es war nicht anwesend. Obwohl ich mein Konfigurationsverzeichnis von der Installation besaß, gingen die Einstellungen verloren, wenn ich das Setup änderte. Um das Problem zu lösen, habe ich einfach die htoprc-Datei in ihrem Verzeichnis mit erstellt touch .config/htop/htoprc, dann die Einstellungen in der htop-Oberfläche bearbeitet und festgestellt, cat .config/htop/htoprcdass die Änderungen gespeichert wurden.

Betriebssystem: Fedora 25 LK: 4.9.9-200.fc25.x86_64

Th'Ink-King
quelle
@ Fox die Antwort ist in der Tat zur Verfügung gestellt. Verwenden Sie auch das Setup, das htop bereitstellt, das die Befragten bereits durchgeführt hatten, aber die Einstellungen wurden nicht auf SSH gespeichert, was wahrscheinlich daran liegt, dass es keinen htoprc gibt. Nach dem Erstellen wird es von htop zum Speichern und Laden von Einstellungen verwendet, anstatt die Standardeinstellungen zu übernehmen.
Th'Ink-King
1

Sie können auch einen Ordner verwenden, der für alle Ihre Computer freigegeben ist. Nehmen wir an, das /media/sharedist auf allen Maschinen gleich montiert. Sie können es als Ihr $HOMEfür einstellen htop, dann speichert und lädt es dort seine Konfiguration.

HOME=/media/shared htop

Dies beginnt htopmit einer sauberen Konfiguration. Einrichten und schließen htopmit F10(oder q). Sie können auch Ihre aktuelle Konfiguration kopieren:

cp ~/.config/htop/htoprc /media/shared/.config/htop/htoprc

Starten htopSie nun auf Ihren anderen Rechnern:

HOME=/media/shared htop

Es sollte so konfiguriert sein, wie Sie es auf Ihrem vorherigen Computer getan haben. :)

hzpc-joostk
quelle
1
Seien Sie nicht "schlau" und legen Sie dies $HOMEin Ihrer Shell-Sitzung global fest export HOME=/media/shared. Dies kann zu Kopfschmerzen führen. :-)
hzpc-joostk
1

Setzen Sie die Einstellungen in der Konfigurationsdatei zurück

Dies sind die Standardeinstellungen für htop auf einem Ubuntu 18.04-System. Ersetzen Sie den Inhalt der Datei $HOME/.config/htop/htoprcund Sie sollten in Ordnung sein. Erstellen Sie zuerst eine Sicherungskopie.

# Beware! This file is rewritten by htop when settings are changed in the interface.
# # The parser is also very primitive, and not human-friendly.
fields=0 48 17 18 38 39 40 2 46 47 49 1 
sort_key=1
sort_direction=1
hide_threads=0
hide_kernel_threads=1
hide_userland_threads=0
shadow_other_users=0
show_thread_names=0
show_program_path=1
highlight_base_name=0
highlight_megabytes=1
highlight_threads=1
tree_view=0
header_margin=1
detailed_cpu_time=0
cpu_count_from_zero=0
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=0
delay=15
left_meters=LeftCPUs Memory Swap 
left_meter_modes=1 1 1 
right_meters=RightCPUs Tasks LoadAverage Uptime 
right_meter_modes=1 2 2 2 
Stefan
quelle