Speicher durch einen Prozess verwendet, der unter mac os x
Erhält eine PID, wie bekomme ich den Speicher derzeit durch einen Prozess verwendet ? Speziell bin ich auf der Suche nach:
- Der privaten physischen Speicher (RAM) verwendet, die durch den Prozess
- Den swap-space verwendet, die durch den Prozess
Aber ich bin nicht daran interessiert, die zugeordneten Dateien und shared memory. Kurz gesagt, ich möchte bestimmen, wie viel Speicher (RAM und swap) befreit würde durch die Kündigung der PID.
- Haben Sie einen Blick auf stackoverflow.com/questions/131303/...
- Danke, aber dieser Artikel bezieht sich auf tools, die nicht verfügbar auf mac (/proc, pmap, smem, htop, gcore) oder um Dinge wie valgrind, die nicht eine option. Ich bin hauptsächlich auf der Suche nach einem Weg zu finden, der Arbeitsspeicher (RAM) und eine SWAP-durch einen Prozess verwendet, programmgesteuert. PS arbeiten könnte, aber es meldet nicht, dass. Ich hätte tagged objective-c anstelle von Kakao. Aber Es hätte nicht besser sein. C/c++ - Aufrufe sind auch gut, solange Sie können Sie auf einem MAC OS-Plattform.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nutzen, Mach ' s task_info aufrufen, um diese Informationen zu finden. Hier ist der code, der funktioniert unter OS X v10.9, und die bekommt der virtuelle Prozess Größe des aktuellen Prozesses:
Ich denke, dass dies schließt die shared-memory-Segmente, aber ich bin mir nicht sicher.
Wäre dies sinnvoll? Sie können die
ps
- Befehl mit diversen Optionen, um zumindest einige dieser Dinge:geben Sie die resident set size, ist die virtuelle Größe und die Prozess-ID. Ich sehe aus den
man
Seite, die-o paddr
gibt die swap-Adresse, aber ich sehe nicht die option gibt Ihnen die swap-Größe.-p pid
).ps -o rss,vsz,pid
.ps
ist extrem teuer github.com/schneems/get_process_mem/issues/31