深入剖析Linux的proc文件系统内容

深入剖析Linux的proc文件系统内容

Linux系统上的/proc目录是一种文件系统,即proc文件系统。需要知道/proc是一种虚拟文件系统,存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,也可以通过更改其中某些文件来改变内核的运行状态。proc文件内容都存在于内存中,包括正在运行的进程信息以及系统配置等。

查看proc目录的内容:
在这里插入图片描述
其中的数字是指的是进程信息,是以pid为名字的目录,目录里包含了进程的各种信息。

查看proc中一个进程的目录:
在这里插入图片描述- cmdline — 启动当前进程的完整命令
在这里插入图片描述

  • cwd — 指向当前进程运行目录的一个符号链接

  • environ — 当前进程的环境变量列表

  • exe — 指向启动当前进程的完整路径的符号链接,通过/proc/N/exe可以启动当前进程的一个拷贝;

  • fd — 包含当前进程打开的每一个文件的文件描述符,是一个目录
    在这里插入图片描述

  • limits — 当前进程所使用的每一个受限资源的软限制、硬限制和管理单元

  • maps — 当前进程关联到的每个可执行文件和库文件在内存中的映射区域及其访问权限所组成的列表

  • mem — 当前进程所占用的内存空间

  • root — 指向当前进程运行根目录的符号链接

  • status — 当前进程的状态信息
    在这里插入图片描述

  • task — 目录文件,包含由当前进程所运行的每一个线程的相关信息

查看proc中的系统设置文件:

  • buddyinfo------用于诊断内存碎片问题的相关信息文件
    在这里插入图片描述

  • cmdline-------在启动时传递至内核的相关参数信息
    在这里插入图片描述

  • cpuinfo---------处理器的相关信息的文件
    在这里插入图片描述

  • devices----------系统已经加载的所有块设备和字符设备的信息,包含主设备号和设备组名
    在这里插入图片描述

  • diskstats--------每块磁盘设备的磁盘I/O统计信息列表
    在这里插入图片描述

  • filesystems-----当前被内核支持的文件系统类型列表文件
    在这里插入图片描述

  • interrupts--------系统上每个IRQ相关的中断号列表
    在这里插入图片描述

  • meminfo----------系统中关于当前内存的利用状况等的信息
    在这里插入图片描述
    通过/proc文件系统调整相关的内核配置:

    允许ip转发 /proc/sys/net/ipv4/ip_forward 改为1 echo 1 > /proc/sys/net/ipv4/ip_forward

    禁止ping /proc/sys/net/ipv4/icmp_echo_ignore_all 改为1 echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

猜你喜欢

转载自blog.csdn.net/dingdingdodo/article/details/107357817