0. 前言

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

它以文件系统的方式为内核与进程提供通信的接口。用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数。

由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取/proc目录中的文件时,proc文件系统是动态从系统内核读出所需信息并提交的。

root@jimmy-vm:/proc# ll /proc/
dr-xr-xr-x 9 root root 0 11月 28 20:09 <pid>/
......
dr-xr-xr-x 2 root root 0 11月 30 16:53 acpi/
dr-xr-xr-x 5 root root 0 11月 30 16:53 asound/
-r--r--r-- 1 root root 0 11月 30 16:53 buddyinfo
dr-xr-xr-x 4 root root 0 11月 30 16:53 bus/
-r--r--r-- 1 root root 0 11月 30 16:53 cgroups
-r--r--r-- 1 root root 0 11月 30 16:53 cmdline
-r--r--r-- 1 root root 0 11月 30 16:53 consoles
-r--r--r-- 1 root root 0 11月 30 16:53 cpuinfo
-r--r--r-- 1 root root 0 11月 30 16:53 crypto
-r--r--r-- 1 root root 0 11月 30 16:53 devices
-r--r--r-- 1 root root 0 11月 30 16:53 diskstats
-r--r--r-- 1 root root 0 11月 30 16:53 dma
dr-xr-xr-x 2 root root 0 11月 30 16:53 driver/
-r--r--r-- 1 root root 0 11月 30 16:53 execdomains
-r--r--r-- 1 root root 0 11月 30 16:53 fb
-r--r--r-- 1 root root 0 11月 30 16:53 filesystems
dr-xr-xr-x 5 root root 0 11月 30 16:53 fs/
-r--r--r-- 1 root root 0 11月 30 16:53 interrupts
-r--r--r-- 1 root root 0 11月 30 16:53 iomem
-r--r--r-- 1 root root 0 11月 30 16:53 ioports
dr-xr-xr-x 57 root root 0 11月 30 16:53 irq/
-r--r--r-- 1 root root 0 11月 30 16:53 kallsyms
-r-------- 1 root root 140737477881856 11月 30 16:53 kcore
-r--r--r-- 1 root root 0 11月 30 16:53 keys
-r--r--r-- 1 root root 0 11月 30 16:53 key-users
-r-------- 1 root root 0 11月 16 14:27 kmsg
-r-------- 1 root root 0 11月 30 16:53 kpagecgroup
-r-------- 1 root root 0 11月 30 16:53 kpagecount
-r-------- 1 root root 0 11月 30 16:53 kpageflags
-r--r--r-- 1 root root 0 11月 30 16:53 loadavg
-r--r--r-- 1 root root 0 11月 30 16:53 locks
-r--r--r-- 1 root root 0 11月 30 16:53 mdstat
-r--r--r-- 1 root root 0 11月 30 16:53 meminfo
-r--r--r-- 1 root root 0 11月 30 16:53 misc
-r--r--r-- 1 root root 0 11月 30 16:53 modules
lrwxrwxrwx 1 root root 11 11月 30 16:53 mounts -> self/mounts
dr-xr-xr-x 3 root root 0 11月 30 16:53 mpt/
-rw-r--r-- 1 root root 0 11月 30 16:53 mtrr
lrwxrwxrwx 1 root root 8 11月 30 16:53 net -> self/net/
-r--r--r-- 1 root root 0 11月 30 16:53 pagetypeinfo
-r--r--r-- 1 root root 0 11月 30 16:53 partitions
-r--r--r-- 1 root root 0 11月 30 16:53 sched_debug
-r--r--r-- 1 root root 0 11月 30 16:53 schedstat
dr-xr-xr-x 4 root root 0 11月 30 16:53 scsi/
lrwxrwxrwx 1 root root 0 11月 16 14:27 self -> 107692/
-r-------- 1 root root 0 11月 30 16:53 slabinfo
-r--r--r-- 1 root root 0 11月 30 16:53 softirqs
-r--r--r-- 1 root root 0 11月 30 16:53 stat
-r--r--r-- 1 root root 0 11月 16 14:27 swaps
dr-xr-xr-x 1 root root 0 11月 16 14:27 sys/
--w------- 1 root root 0 11月 30 16:53 sysrq-trigger
dr-xr-xr-x 2 root root 0 11月 30 16:53 sysvipc/
lrwxrwxrwx 1 root root 0 11月 16 14:27 thread-self -> 107692/task/107692/
-r--r--r-- 1 root root 0 11月 30 16:53 timer_list
-rw-r--r-- 1 root root 0 11月 30 16:53 timer_stats
dr-xr-xr-x 4 root root 0 11月 30 16:53 tty/
-r--r--r-- 1 root root 0 11月 30 16:53 uptime
-r--r--r-- 1 root root 0 11月 30 16:53 version
-r--r--r-- 1 root root 0 11月 30 16:53 version_signature
-r-------- 1 root root 0 11月 30 16:53 vmallocinfo
-r--r--r-- 1 root root 0 11月 30 16:53 vmstat
-r--r--r-- 1 root root 0 11月 30 16:53 zoneinfo

1. /proc/cpuinfo

在linux操作系统中,CPU的信息在启动的过程中被装载到虚拟目录/proc下的cpuinfo文件中,我们可以通过 cat /proc/cpuinfo 查看一下。


该文件中存放了有关 cpu的相关信息(型号,缓存大小等)


root@jimmy-vm:/proc# cat cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 94
model name : Intel(R) Core(TM) i5-6400 CPU @ 2.70GHz
stepping : 3
microcode : 0xc2
cpu MHz : 2712.002
cache size : 6144 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 22
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch epb invpcid_single kaiser fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap xsaveopt xsavec xgetbv1 dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips : 5424.00
clflush size : 64
cache_alignment : 64
address sizes : 42 bits physical, 48 bits virtual
power management:

上面的各个参数的含义解释如下:

属性 含义
processor 逻辑处理器的id。
vendor id CPU制造商
cpu family CPU产品系列代号
model CPU属于其系列中的哪一代的代号
model name CPU属于的名字及其编号、标称主频
stepping CPU属于制作更新版本
cpu MHz CPU的实际使用主频
cache size CPU二级缓存大小
physical id 单个CPU的标号
siblings 单个CPU逻辑物理核数
core id 当前物理核在其所处CPU中的编号,这个编号不一定连续
cpu cores 该逻辑核所处CPU的物理核数
apicid 用来区分不同逻辑核的编号,系统中每个逻辑核的此编号必然不同,此编号不一定连续
fpu 是否具有浮点运算单元(Floating Point Unit)
fpu_exception 是否支持浮点计算异常
cpuid level 执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指令会返回不同的内容
wp 表明当前CPU是否在内核态支持对用户空间的写保护(Write Protection)
flags 当前CPU支持的功能
bogomips 在系统内核启动时粗略测算的CPU速度(Million Instructions Per Second)
clflush size 每次刷新缓存的大小单位
cache_alignment 缓存地址对齐单位
address sizes 可访问地址空间位数

/proc文件系统(一):cpuinfo的更多相关文章

  1. proc文件系统

    在shell终端里不带任何参数,直接运行mount命令可以显示正在挂载的文件系统.其中有这么一行 none on /proc type proc (rw) 这就是/proc文件系统.第一个域显示non ...

  2. 使用 /proc 文件系统来访问 linux操作系统 内核的内容 && 虚拟文件系统vfs及proc详解

    http://blog.163.com/he_junwei/blog/static/19793764620152743325659/ http://www.01yun.com/other/201304 ...

  3. <解说linux下proc文件系统>

    proc文件系统的作用是访问系统内核信息 proc不是一个真实的文件系统,它不占系统的外存空间,只是以文件的形式为用户访问linux内核数据提供接口,因为系统内核总是动态的变化,所以我们所捕捉到的也只 ...

  4. (转)使用 /proc 文件系统来访问 Linux 内核的内容

    转载网址:http://www.ibm.com/developerworks/cn/linux/l-proc.html 这个虚拟文件系统在内核空间和用户空间之间打开了一个通信窗口/proc 文件系统是 ...

  5. Linux的proc文件系统

    proc,用户空间和内核空间能够通过该接口通信, 与普通文件不同的是.这些虚拟文件的内容都是动态创建的. proc文件系统是一个伪文件系统,它仅仅存在内存其中,而不占用外存空间. 它以文件系统的方式为 ...

  6. [转帖]ulimit、limits.conf、sysctl和proc文件系统

    ulimit.limits.conf.sysctl和proc文件系统 来源:https://blog.csdn.net/weixin_33918114/article/details/86882372 ...

  7. 深入理解linux系统下proc文件系统内容

    深入理解linux系统下proc文件系统内容 内容摘要:Linux系统上的/proc目录是一种文件系统,即proc文件系统. Linux系统上的/proc目录是一种文件系统,即proc文件系统.与其它 ...

  8. /proc文件系统(二):/proc/<pid>/stat

    0. 前言 /proc 文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间. 它以文件系统的方式为内核与进程提供通信的接口.用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某 ...

  9. linux文件管理之proc文件系统

    proc 文件系统 ==================================================================================== Linux ...

随机推荐

  1. 《C#从现象到本质》读书笔记(六)第8章委托和事件

    <C#从现象到本质>读书笔记(六)第二部分 C#特性 第8章委托和事件 从这一部分开始,知识点就相对少了,重要的是代码练习.奈何太高深的代码平常不怎么用,这些特性也不是经常写代码的. 委托 ...

  2. 【git】仓库目录下文件不加入版本控制

    如果文件未做过提交操作,在文件所在目录或上级目录新建.gitignore文本文件,将文件的相对路径写入,再将该文本文件提交,则目标文件将被git忽略. 补一个gitignore文件书写规范 2.至于已 ...

  3. DSP builder安装指南(以9.1为例) 转自http://www.cnblogs.com/sleepy/archive/2011/06/28/2092362.html

    DSP Builder在算法友好的开发环境中帮助设计人员生成DSP设计硬件表征,从而缩短了DSP设计周期.已有的MATLAB函数和Simulink模块可以和Altera DSP Builder模块以及 ...

  4. 注册Docker官网账号 注册按钮不能点

    出现如下问题:注册按钮不能点,解决办法,如下 关于docker hub上不能注册dockeID的问题 注意的是,google访问助手,用在线安装,360安全浏览器,再重启下该浏览器,省得装插件.

  5. dubbo实现示例

    创建MAVEN项目 项目结构: 在项目pom.xml中添加依赖 <dependency> <groupId>org.apache.zookeeper</groupId&g ...

  6. Unity3d让某个物体一直正对着相机

    //将以下代码绑定到相机上 using UnityEngine; using System.Collections;   public class LookatScipt : MonoBehaviou ...

  7. 方向导数,梯度和梯度下降之BGD,SGD

    方向导数和梯度的直观理解,from知乎-马同学: https://www.zhihu.com/question/36301367 BGD,SGD: https://www.cnblogs.com/gu ...

  8. maya2014卸载/安装失败/如何彻底卸载清除干净maya2014注册表和文件的方法

    maya2014提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装maya2014失败提示maya2014安装未完成,某些产品无法安装,也有时候想重新安装maya ...

  9. three.js 一幅图片多个精灵

    https://blog.csdn.net/zhulx_sz/article/details/79105359 核心代码 // 把一幅外部图片中包含的5种精灵存入一个精灵材质数组 var sprite ...

  10. 通过Function Score Query优化Elasticsearch搜索结果(综合排序)

    在使用 Elasticsearch 进行全文搜索时,搜索结果默认会以文档的相关度进行排序,如果想要改变默认的排序规则,也可以通过sort指定一个或多个排序字段. 但是使用sort排序过于绝对,它会直接 ...