在内存的使用中,有程序本身所占的内存。也有程序动态分配的内存。里面还可能是系统调用外部的工具,又会占用了额外的内存。从使用者角度来看,可以认为里面是个黑盒子。启动了一个程序,却不知道该程序的峰值内存使用量。
用什么方法来知道最多使用了多少内存呢?其实通过如下free命令可以知道个大概。

free -s 0.1 -h

这样每100ms(这个可以根据自己需要来调整)采样一次,显示所占用的内存的多少。
先在一个终端启动上述free命令。看used部分内存有多少,譬如300MB。再在一个终端运行程序。观察used部分内存的变化。大致可以看到最高使用内存数量,譬如450MB。减去客户程序启用之前的值,可以大概得知该程序最多占用的内存为450-300=150MB。

Logo

更多推荐