导读
GT3.1的版本更新,带来了全面的维度分析。那么这些功能是如何实现的呢?本章GT君将详细的从CUP维度、内存维度、流量维度、流畅度维度为大家讲解这些功能的作用和实现原理。
1 CPU
/proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为内核与进程提供通信的接口。 从proc文件中可以获取系统、进程、线程的CPU时间片使用情况,所以两次采集时间片的数据就可以获取进程CPU占用率, CPU占用率 = (进程T2-进程T1)/(系统T2-系统T1) 的时间片比值。
1.1 获取系统CPU时间片
获取系统CPU时间片使用情况:读取proc/stat,文件的内容如下:
文件第一行各个字段的含义:
总的CPU时间:totalCpuTime = user + nice + system + idle + iowait + irq + softirq
1.2 获取进程和线程的CPU时间片
获取进程CPU时间片使用情况:读取proc/pid/stat,获取线程CPU时间片使用情况:读取proc/pid/task/tid/stat,这两个文件的内容相同,如下: