• 技术文章 >运维 >linux运维

    linux下proc是什么文件系统

    青灯夜游青灯夜游2023-03-15 11:31:06原创110

    在linux中,proc是虚拟文件系统,是一个控制中心,可以通过更改其中某些文件改变内核运行状态;它也是内核提空给我们的查询中心,用户可以通过它查看系统硬件及当前运行的进程信息。proc系统只存在内存当中,以文件系统的方式为访问系统内核数据的操作提供接口,可以通过更改其中的某些文件来改变内核运行状态。

    本教程操作环境:linux7.3系统、Dell G3电脑。

    proc是什么文件系统

    proc被称为虚拟文件系统,它是一个控制中心,可以通过更改其中某些文件改变内核运行状态,它也是内核提空给我们的查询中心,用户可以通过它查看系统硬件及当前运行的进程信息。

    Linux中许多工具的数据来源正是proc目录中的内容,比如lsmod的命令是cat /proc/modules的别名。

    在Linux中存在着一类特殊的伪文件系统,用于使用与文件接口统一的操作来完成各种功能,例如ptyfs、devfs、sysfs和procfs。而procfs就是其中应用最广泛的一种伪文件系统。

    就文件系统这一术语而言,/ proc目录并不是真正的文件系统,它是一个虚拟文件系统,有时也被称为进程信息伪文件系统。

    proc 放置的数据都是在内存当中,例如系统内核、进程、外部设备的状态及网络状态等。因为这个目录下的数据都是在内存当中,所以本身不占任何硬盘空间。

    procfs是Linux内核信息的抽象文件接口,大量内核中的信息以及可调参数都被作为常规文件映射到一个目录树中,这样我们就可以简单直接的通过echo或cat这样的文件操作命令对系统信息进行查取和调整了。同时procfs也提供了一个接口,使得我们自己的内核模块或用户态程序可以通过procfs进行参数的传递。在当今的Linux系统中,大量的系统工具也通过procfs获取内核参数,例如ps、lspci等等,没有procfs它们将可能不能正常工作。

    proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。

    linux proc文件系统详解

    Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态。

    PID

    目录,系统中当前运行的每一个进程都有对应的一个目录在/proc下,以进程的 PID号为目录名.

    acpi/wakeup

    文件,设备唤醒操作。

    buddyinfo

    文件,用于诊断内存碎片问题。

    bus

    目录,已安装的总线。

    cgroups

    cgroups信息汇总,字段 subsys_name hierarchy num_cgroups enabled。

    cmdline

    文件,系统启动时传递给Linux内核的参数,如lilo、grub等boot管理模块。

    consoles

    文件,要查看系统控制台/dev/console中当前使用的设备行字符,你可以简单地查看/proc/console文件.

    cpuinfo

    文件,CPU和系统架构信息,lscpu命令使用这个文件。

    crypto

    文件,内核加密API提供的加密列表。

    devices

    文件,设备相关信息。

    diskstats

    文件,磁盘状态。

    dma

    文件,dma即Direct Memory Access。

    driver

    execdomains

    文件,执行域列表。

    fb

    文件,Frame Buffer信息,需要配置CONFIG_FB。

    filesystems

    文件,内核支持的文件系统类型(man filesystems)。

    fs

    目录,挂载的文件系统信息。

    interrupts

    文件,每个CPU每个IO的中断信息。依次显示irq编号,每个cpu对该irq的处理次数,中断控制器的名字,irq的名字,以及驱动程序注册该irq时使用的名字。

    iomem

    文件,IO内存映射信息。

    ioports

    文件,IO端口信息。

    irq

    目录,下面会为每个注册的irq创建一个以irq编号为名字的子目录。

    kallsyms

    文件,用于动态链接和和模块绑定的符号定义。

    kcore

    文件,系统中ELF格式的物理内存。

    keys

    文件,公开了读取线程具有查看权限的键列表,并提供了有关每个键的各种信息。线程不需要拥有密钥,该密钥在此文件中可见。

    key-users

    文件,列出了在系统上至少具有一个密钥的每个用户ID的各种信息。

    kmsg

    文件,内核日志信息,dmsg命令使用这个文件。

    kpagecount

    文件,每个物理页帧映射的次数,需要配置CONFIG_PROC_PAGE_MONITOR。

    kpageflags

    文件,每个物理页帧的掩码,需要配置CONFIG_PROC_PAGE_MONITOR。

    loadavg

    文件,当前系统负载。

    locks

    文件,当前文件锁的状态。

    mdstat

    文件,虚拟设备信息(软raid等)。

    meminfo

    文件,系统内存使用统计,free命令使用了这个文件。

    misc

    文件,其他的主要设备(设备号为10)上注册的驱动。

    modules

    文件,系统加载的模块信息,相关命令为lsmod。

    mounts -> self/mounts

    文件,链接到了/self/mounts。

    mtrr

    文件,Memory Type Range Registers。

    net -> self/net

    目录,网络伪文件系统相关。

    pagetypeinfo

    文件,其他页面分配器信息。

    partitions

    文件,分区信息。

    sched_debug

    文件,调度器debug信息。

    schedstat

    文件,调度器信息。

    scsi

    目录,SCSI接口设备。

    self -> 22699

    目录,链接到了当前进程所在的目录。

    slabinfo

    文件,内核缓存信息,需要配置CONFIG_SLAB。

    softirqs

    文件,系统软中断信息。

    stat

    文件,系统和内核的统计信息。

    swaps

    文件,swap分区使用情况。

    sys

    目录,系统变量相关信息。

    sysrq-trigger

    文件,可写,触发系统调用。

    sysvipc

    目录,包括msg、sem、shm三个文件,为System V IPC对象。

    timer_list

    文件,还在运行着的定时器列表。

    timer_stats

    文件,定时器状态。

    tty

    目录,tty设备相关。

    uptime

    文件,系统更新时间和进程空闲时间。

    version

    文件,内核版本信息。

    vmallocinfo

    文件,虚拟内存分配信息。

    vmstat

    文件,内存统计信息,以键值对形式显示。

    zoneinfo

    文件,内存区块信息,用于分析虚拟内存的行为。

    相关推荐:《Linux视频教程

    以上就是linux下proc是什么文件系统的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:linux proc
    上一篇:linux提权是什么意思 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • linux怎么查看当前目录下有哪些子目录• linux linkwatch是什么进程• linux的几种重启命令是什么• linux 解压zip文件显示绿色为什么• linux vim中文乱码怎么办• linux disc是什么
    1/1

    PHP中文网