查看代码运行过程中,嵌入式平台的CPU占用情况,以及memeory情况。
开两个命令窗口,一个运行代码,另外一个输入命令查看。
1.CPU占用情况
top //持续刷新CPU的占用情况。
保存到文本:top | tee top.txt
2.memory
free -m //在代码运行过程中手动输入命令获取。(M为单位)
说明:默认 free 会以 KB 为单位显示信息。free 同样提供 b (B), -k (KB), -m (MB), -g (GB) and –tera (TB)这些单位
保存到文本:free | tee -a free.txt
2.1.free命令含义:
total used free shared buffers cached
Mem: 511652 97740 413912 0 4772 64004
-/+ buffers/cache: 28964 482688
Swap: 0 0 0
在开机之后,执行任何操作前,执行free,系统本身占用的内存资源对应上面的:512M内存-482688。
511652是系统可用的总内存,其中被占用且不可释放的有28964,剩下的(没占用或者占用了但是可以释放的)482688。
413912没被使用的,4772+64004是被使用,但是可以释放的缓存,413912+4772+64004=482688。
2.2.清理buffers/cache:
total used free shared buffers cached
Mem: 511652 321588 190064 0 8188 281964
-/+ buffers/cache: 31436 480216
Swap: 0 0 0
对于Linux/Unix系统内存占用的百分比,无须过于关心,一般检查系统负载参数即可,但也可以手动进行内存释放,具体操作如下:
开始使用free查看内存:
total used free shared buffers cached
Mem: 511652 256100 255552 0 5916 217644
-/+ buffers/cache: 32540 479112
Swap: 0 0 0
1)在根目录下输入命令:cat /proc/sys/vm/drop_caches
返回:0
[首先,/proc/sys/vm/drop_caches的值,默认为0]
2)在根目录下输入命令:sync
手动执行sync命令(描述:sync命令运行sync子例程。如果必须停止系统,则运行sync命令以确保文件系统的完整性。sync命令将所有未写的系统缓冲区写到磁盘中,包含已修改的i-node、已延迟的块I/O和读写映射文件)
3)在根目录下输入命令:echo 3 > /proc/sys/vm/drop_caches
[将/proc/sys/vm/drop_caches值设为3]
4)在根目录下输入命令:cat /proc/sys/vm/drop_caches
返回:3
5)在根目录下输入命令:free
total used free shared buffers cached
Mem: 511652 31864 479788 0 1372 2364
-/+ buffers/cache: 28128 483524
Swap: 0 0 0
有效的释放了buffer和cache。