虚拟文件系统
为了使内核与文件系统的管理和维护能够使用完全相同的方法,UNIX系统引入了一个虚拟文件系统/proc,这样用户就可以使用在进行文件操作时已经熟悉的命令和方法来进行内核信息的查询和配置了。/proc并不存在于硬盘上,而是一个存放在内存中的虚拟目录,可以借助修改这个目录中的文件来及时变更内核的参数。/proc目录中包含了存放目前系统内核信息的文件,通过这些文件就可以列出目前内核的状态。Linux系统继续沿用了这一技术,/proc虚拟文件系统的特点总结如下:
-
可以使用/proc来获取内核的配置信息或对内核进行配置。
-
/proc是一个虚拟文件系统,所有的文件只存储在内存中,这样访问/proc文件系统的速度会相当快。
-
由于只存储在内存中,系统重启后所有更改过的内容自动消失,又回到初始设置。
-
利用/proc可以显示进程的信息、内存资源、硬件设备、内核所占用的内存等。
-
在/proc中有一些子目录,如/proc/PID/子目录中包含了所有进程(运行的程序)的信息(其中PID是以数字表示的进程号),/proc/scsi/子目录中包含了所有scsi设备的信息,/proc/sys/子目录中包含了内核参数等。
-
可以利用/proc/sys/子目录下的文件来修改网络设置、内存设置或内核的一些参数。
-
所有对/proc的修改立即生效。
虚拟文件系统举例
root@promote:~# ls -l /proc
总用量 0
尽管所有文件大小都是0,但是仍然可以使用cat命令打开这些文件,也可以列出CPU或其他设备的信息:
root@promote:~# cat /proc/meminfo
MemTotal: 510576 kB
MemFree: 10364 kB
……
可以使用echo命令进行修改。
前天提到过受污染的内核(tainted kernel),那么我们怎么知道我们的Linux系统是否是一个tainted kernel呢?办法就是查看/proc/sys/kernel/tainted 这个虚拟文件,如果其中的内容是0,就是没有受到污染(not tainted),如果是1,就是受到了污染(tainted).如:
root@promote:~# cat /proc/sys/kernel/tainted
0
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫