Ich wollte kürzlich die RAM-Nutzung pro verbundenem Benutzer auf meinem Server überprüfen, konnte aber keinen Ausweg finden. Bitte schlagen Sie eine Möglichkeit vor.
Antwort1
Wie wäre es mit
ps aux | grep $USER | awk '{memory +=$4}; END {print memory }'
ps aux
: Um jeden Prozess im System mit BSD-Syntax anzuzeigen.$USER
ist der aktuelle Benutzer. Ändern Sie ihn in einen tatsächlichen Namen, wenn Sie jemand anderen benötigen.
Nun zum magischen Teil:
- awk erstellt eine Variable namens „Speicher“ und fügt Spalte 4 der Ausgabe hinzu.
ps auxU $USER
Am Ende druckt es den berechneten Betrag aus.
Ergänzung: Grafische Methode.
smem ist ein Tool, das zahlreiche Berichte zur Speichernutzung auf Linux-Systemen erstellen kann. Im Gegensatz zu vorhandenen Tools kann smem die proportionale Setgröße (PSS) melden, die eine aussagekräftigere Darstellung der Speichermenge ist, die von Bibliotheken und Anwendungen in einem virtuellen Speichersystem verwendet wird.
Da große Teile des physischen Speichers normalerweise von mehreren Anwendungen gemeinsam genutzt werden, wird die Speichernutzung mit der als Resident Set Size (RSS) bezeichneten Standardmessung der Speichernutzung erheblich überschätzt. PSS misst stattdessen den „fairen Anteil“ jeder Anwendung an jedem gemeinsam genutzten Bereich, um ein realistisches Maß zu erhalten.
smem hat viele Funktionen:
Systemübersichtsliste Auflistungen nach Prozess, Zuordnung, Benutzer Filterung nach Prozess, Zuordnung oder Benutzer Konfigurierbare Spalten aus mehreren Datenquellen Konfigurierbare Ausgabeeinheiten und Prozentsätze Konfigurierbare Kopfzeilen und Summen Lesen von Livedaten aus /proc Lesen von Daten-Snapshots aus Verzeichnisspiegeln oder komprimierten Tarballs Leichtgewichtiges Erfassungstool für eingebettete Systeme Integrierte Diagrammerstellung SMEM hat einige Anforderungen:
- ein einigermaßen moderner Kernel (> 2.6.27 oder so)
- eine einigermaßen aktuelle Version von Python (2.4 oder so)
- die Matplotlib-Bibliothek zur Diagrammerstellung (optional, wird automatisch erkannt)
Verwendung von SMEM
- benutzerorientierte Ansicht anzeigen:
smem -u
(mehr im Link)'
Installation: