如何运行一个进程并查找它使用了多少内存?

如何运行一个进程并查找它使用了多少内存?

我经常用来time了解一个过程需要多长时间。是否有等效的内存命令?找出进程占用多少内存的常用方法(ps/proc/meminfo等)对于长时间运行的进程来说效果很好,但我不知道有什么方法可以像time从命令行运行的命令一样工作。我正在想象类似“大小”的东西,除了包括堆栈和堆:

% mem python myscript.py
   text    data    heap 
3135006  570928  115528

答案1

以下内容可能会有所帮助:

var=$(pgrep process_name_here);
top -b -p "$var" | awk -v var=$var '$1~var{print $10}'

您甚至可能会考虑编写一个脚本并将进程名称作为参数传递

笔记:这个解决方案将不会如果您更改 top 命令的默认布局,则可以使用。在这种情况下,您需要将 $10 替换为适当的字段编号

相关内容