嵌入式平台运行代码,CPU占用及内存占用

查看代码运行过程中,嵌入式平台的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。

猜你喜欢

转载自blog.csdn.net/u013925378/article/details/82763186