Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

27.11.2007, 12:12

[gelöst] Speicherverbrauch eines Prozess loggen

Hallo zusammen

ich bin Linux Newbie und möchte gern den Speicherverbrauch eines Prozess loggen, und zwar im Abstand von 10 Sekunden.
Dabei möchte ich den Prozess nicht anhand der PID wählen, sondern es soll immer der Prozess geloggt werden, der den meisten Speicher verbraucht. In das Log-File soll jeweils die Zeit, die PID und der Speicherverbrauch geschrieben werden.

Hat jemand eine Idee, wie ich sowas machen kann?

Im Prinzip möchte ich den Prozess, der bei top angezeigt wird, sortiert nach höchstem Speicherverbrauch, im 10 Sekunden Takt in ein logfile schreiben.

Bin für jeden Tip dankbar!

Besten dank im voraus...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »zopeuser« (27.11.2007, 12:12)


2

27.11.2007, 13:08

Hey

hast du es schonmal mit man top probiert oder wenigstens google?
ich habe gerade mal gegoogelt und folgende Seite war der erste angezeigte Link

Schau mal da vielleicht findest du ja bereits einige Antworten auf deine Fragen.
for Windows problems: reboot
for Linux problems: be root

3

27.11.2007, 13:21

Zitat

Original von BorneBjoern
hast du es schonmal mit man top probiert oder wenigstens google?


2 x ja. ;-)

ich hatte leider nicht gefunden, wie ich top im batch mode starte und nach Speichernutzung sortieren lassen kann, da per default nach CPU-Verbrauch sortiert wird.

4

27.11.2007, 13:42

Jetzt solltest du es aber gefunden haben

Zitat



-b : Batch mode operation
Starts top in 'Batch mode', which could be useful for sending out-
put from top to other programs or to a file. In this mode, top
will not accept input and runs until the iterations limit you've
set with the '-n' command-line option or until killed.

-d : Delay time interval as: -d ss.tt (seconds.tenths)
Specifies the delay between screen updates, and overrides the cor-
responding value in one's personal configuration file or the
startup default. Later this can be changed with the 'd' or 's'
interactive commands.

Fractional seconds are honored, but a negative number is not
allowed. In all cases, however, such changes are prohibited if
top is running in 'Secure mode', except for root (unless the 's'
command-line option was used). For additional information on
'Secure mode' see topic 5a. SYSTEM Configuration File.



um mal die manpages von dem link zu zitieren,
for Windows problems: reboot
for Linux problems: be root

5

27.11.2007, 15:59

Das habe ich ja gefunden, nur steht da leider nichts von Sortierung im Batch Mode.

6

28.11.2007, 08:12

moin,

Dann wirst du das wohl ueber ein script und eventuell

Quellcode

1
$> sed
filtern muessen.
for Windows problems: reboot
for Linux problems: be root

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »BorneBjoern« (28.11.2007, 08:19)


7

28.11.2007, 10:24

nach einigem Probieren habe ich es nun herausgefunden:

Quellcode

1
ps -u <USER> -o pid,rss,command | grep <COMMAND> 


<USER> ist der User, unter dem der Prozess läuft.
<COMMAND> ist das Kommando oder ein Teil des Kommandos.

Das setzt jedoch voraus, dass man das Kommando oder einen Teil des Kommandos weiss, das dem Prozess zugeordnet ist.

Thema bewerten