前言: 在前嵌入式开发中,往往需要考虑占用内存大小以及CPU的占用率。所以我们在写好程序后,就需要进行测试,防止出现CPU使用率过高以及内存占用过大,导致程序不能运行的问题,下面就介绍一种简单通用的办法来实现这些功能。
第一步
在Linux环境下的线程其实就是轻量级的进程,但是我们通过top 或 ps -aux 命令一般都是查不到具体的线程号tid,需要在各个线程实现代码中获取线程ID。
具体实现如下:
#include<sys/syscall.h>
pid_t getId()
{
return syscall(SYS_getId);
}
第二步
通过线程ID可以获取各线程的CPU使用率。
具体分析如下:
使用如下指令进行查看
cat /proc/<pid>/task/<tid>/stat
为程序的PID,为程序的各个线程的ID号,stat文件就是一些调度信息。
例如: