首页 > 代码库 > Linux的proc文件系统

Linux的proc文件系统

proc为一个内核数据结构接口,用户空间和内核空间可以通过该接口通信,

与普通文件不同的是,这些虚拟文件的内容都是动态创建的。

proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。

它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序

可以通过 proc得到系统的信息,并可以改变内核的某些参数。

proc文件系统可以被用于收集有用的关于系统和运行中的内核的信息。

对此文件系统的访问同一般文件相同。

例:

1.统计cpu个数:

cat /proc/cpuinfo | grep‘physical id‘|uniq -c|wc –l

2.cpu型号

cat /proc/cpuinfo|grepname|cut -f2 -d:|uniq

3.计算每个cpu的内核数

cat /proc/cpuinfo | grep‘physical id‘|awk -F‘:‘ ‘{count[$2]++;}END{sum=0;for(a in count){cc++;sum+=count[a]}printsum/cc;}‘

4.内核版本

cat /proc/version|cut-f1 -d‘(‘

5.内核执行的上下文转换次数

cat /proc/stat|grep ctxt|awk‘{print $2}‘

6.系统创建的进程数

cat /proc/stat|grep processes|awk‘{print $2}‘

7.当前可用的内存数量

cat /proc/meminfo|grep MemFree