文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux 下的 /proc 目录介绍

2023-09-06 14:00

关注

Linux 下的 /proc 目录介绍

目录

在 Linux 系统中,/proc 目录是一个位于内存中的伪文件系统。该目录下保存的并不是真正的文件和目录,而是一些【运行时】的信息,如 CPU 信息、负载信息、系统内存信息、磁盘 IO 信息等。

Linux 内核提供了一种通过 proc 文件系统,在运行时访问内核内部的数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。通过ll -h 命令查看该目录下的文件,发现几乎所有的文件大小都是 0。但可以通过 vim、cat、less、more 等命令查看文件的内容。

/proc目录是内核提供给我们的查询中心,通过查询该目录下的文件内容,可以获取到有关系统硬件及当前运行进程的信息。

用户和应用程序可以通过 proc 得到系统的信息,并可以改变内核的某些参数。由于进程等系统信息是动态改变的,所以用户或应用程序读取 proc 文件时,proc 文件系统是动态从系统内核读出所需信息并提交的。

/proc 目录下的文件或子目录取决于系统的内核配置和装载的模块。其中 sys 目录是可写的,可以通过它来访问或修改内核参数;而 net 和 scsi 则依赖于内核配置。如果系统不支持 scsi,则 scsi 目录不存在。还有一些以数字命名的目录,它们是进程目录。当前运行的每一个进程都有对应的一个目录在 /proc 下,以进程的 PID 号为目录名,它们是读取进程信息的接口。self 目录则是读取进程本身的信息接口,是一个link。

/proc 目录的内容如下图所示:

在这里插入图片描述

1、/proc 目录包含的文件及其作用

/proc/cmdline         # 保存操作系统的启动参数/proc/cpuinfo         # 保存CPU的相关信息。对应lscpu命令。/proc/devices         # 系统已经加载的所有块设备和字符设备的信息。/proc/diskstats       # 统计磁盘设备的I/O信息。/proc/filesystems     # 保存当前系统支持的文件系统。/proc/kcore          # 物理内存的镜像。该文件大小是已使用的物理内存加上4K。/proc/loadavg      # 保存最近1分钟、5分钟、15分钟的系统平均负载。/proc/meminfo      # 保存当前内存使用情况。对应free命令/proc/mounts -> self/mounts# 系统中当前挂载的所有文件系统。mount命令。# mounts文件是链接到self/mounts。/proc/partitions      # 每个分区的主设备号(major)、次设备号(minor)、包含的块(block)数目。/proc/uptime          # 系统自上次启动后的运行时间。/proc/version         # 当前系统的内核版本号/proc/vmstat          # 当前系统虚拟内存的统计数据

2、/proc 目录包含的子目录及其内容

(1)/proc/bus

系统总线(Bus)信息,例如 pci、usb 等,目录内容如下:

[root@localhost proc]# ll /proc/bus总用量 0dr-xr-xr-x. 2 root root 0 1112 11:41 inputdr-xr-xr-x. 4 root root 0 1112 11:41 pci[root@localhost proc]# ll /proc/bus/input总用量 0-r--r--r--. 1 root root 0 1112 11:42 devices-r--r--r--. 1 root root 0 1112 11:42 handlers[root@localhost proc]# ll /proc/bus/pci总用量 0dr-xr-xr-x. 2 root root 0 1112 11:42 00dr-xr-xr-x. 2 root root 0 1112 11:42 02-r--r--r--. 1 root root 0 1112 11:42 devices

(2)/proc/driver

驱动信息,目录内容如下:

[root@localhost proc]# ll /proc/driver总用量 0-r--r--r--. 1 root root 0 1112 11:43 nvram-r--r--r--. 1 root root 0 1112 11:43 rtc

(3)/proc/fs

文件系统信息,目录内容如下:

[root@localhost proc]# ll /proc/fs总用量 0dr-xr-xr-x. 2 root root 0 1112 11:45 nfsddr-xr-xr-x. 2 root root 0 1112 11:45 xfs[root@localhost proc]# ll /proc/fs/nfsd总用量 0[root@localhost proc]# ll /proc/fs/xfs总用量 0lrwxrwxrwx. 1 root root 23 1112 11:45 stat -> /sys/fs/xfs/stats/stats-r--r--r--. 1 root root  0 1112 11:45 xqm-r--r--r--. 1 root root  0 1112 11:45 xqmstat

(4)设备信息

# 网卡设备信息[root@localhost proc]# ll /proc/netlrwxrwxrwx. 1 root root 8 1112 11:47 /proc/net -> self/net# 网络流量统计。接收、发送、发送时的错误和冲突情况。[root@localhost proc]# cat /proc/net/devInter-|   Receive                    |  Transmit face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressedlo:   18632     212    0    0    0     0          0         0    18632     212    0    0    0     0       0          0ens33: 266978316  271249    0    0    0     0          0         0  7110723   75371    0    0    0     0       0          0# scsi设备信息[root@localhost proc]# ll /proc/scsi总用量 0-r--r--r--. 1 root root 0 1112 11:48 device_infodr-xr-xr-x. 2 root root 0 1112 11:48 mptspi-r--r--r--. 1 root root 0 1112 11:48 scsidr-xr-xr-x. 2 root root 0 1112 11:48 sg#tty设备信息[root@localhost proc]# ll /proc/tty 总用量 0dr-x------. 2 root root 0 1112 11:48 driver-r--r--r--. 1 root root 0 1112 11:48 driversdr-xr-xr-x. 2 root root 0 1112 11:48 ldisc-r--r--r--. 1 root root 0 1112 11:48 ldiscs

(5)进程目录

/proc 目录下有很多以数字命名的目录,这些目录与进程的 pid 相对应。通过这些目录,可以查看进程相关的信息。比如,mysql 对应的进程号为 25787:

[root@localhost proc]# ps -ef |grep mysqlmysql     25787      1  0 11月09 ?      00:02:27 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pidroot      27552  26884  0 12:00 pts/0    00:00:00 grep --color=auto mysql

进程号为 25787 对应的目录内容如下:

[root@localhost proc]# cd 25787[root@localhost 25787]# pwd/proc/25787[root@localhost 25787]# ll总用量 0dr-xr-xr-x.  2 mysql mysql 0 1112 12:02 attr-rw-r--r--.  1 mysql mysql 0 1112 12:02 autogroup-r--------.  1 mysql mysql 0 1112 12:02 auxv-r--r--r--.  1 mysql mysql 0 1112 12:02 cgroup--w-------.  1 mysql mysql 0 1112 12:02 clear_refs-r--r--r--.  1 mysql mysql 0 1112 12:00 cmdline-rw-r--r--.  1 mysql mysql 0 1112 12:02 comm-rw-r--r--.  1 mysql mysql 0 1112 12:02 coredump_filter-r--r--r--.  1 mysql mysql 0 1112 12:02 cpusetlrwxrwxrwx.  1 mysql mysql 0 1112 12:02 cwd -> /var/lib/mysql-r--------.  1 mysql mysql 0 1112 12:02 environlrwxrwxrwx.  1 mysql mysql 0 1112 12:02 exe -> /usr/sbin/mysqlddr-x------.  2 mysql mysql 0 1112 12:02 fddr-x------.  2 mysql mysql 0 1112 12:02 fdinfo-rw-r--r--.  1 mysql mysql 0 1112 12:02 gid_map-r--------.  1 mysql mysql 0 1112 12:02 io-r--r--r--.  1 mysql mysql 0 1112 12:02 limits-rw-r--r--.  1 mysql mysql 0 1112 12:02 loginuiddr-x------.  2 mysql mysql 0 1112 12:02 map_files-r--r--r--.  1 mysql mysql 0 1112 12:02 maps-rw-------.  1 mysql mysql 0 1112 12:02 mem-r--r--r--.  1 mysql mysql 0 1112 12:02 mountinfo-r--r--r--.  1 mysql mysql 0 1112 12:02 mounts-r--------.  1 mysql mysql 0 1112 12:02 mountstatsdr-xr-xr-x.  5 mysql mysql 0 1112 12:02 netdr-x--x--x.  2 mysql mysql 0 1112 12:02 ns-r--r--r--.  1 mysql mysql 0 1112 12:02 numa_maps-rw-r--r--.  1 mysql mysql 0 1112 12:02 oom_adj-r--r--r--.  1 mysql mysql 0 1112 12:02 oom_score-rw-r--r--.  1 mysql mysql 0 1112 12:02 oom_score_adj-r--r--r--.  1 mysql mysql 0 1112 12:02 pagemap-r--r--r--.  1 mysql mysql 0 1112 12:02 personality-rw-r--r--.  1 mysql mysql 0 1112 12:02 projid_maplrwxrwxrwx.  1 mysql mysql 0 1112 12:02 root -> /-rw-r--r--.  1 mysql mysql 0 1112 12:02 sched-r--r--r--.  1 mysql mysql 0 1112 12:02 schedstat-r--r--r--.  1 mysql mysql 0 1112 12:02 sessionid-rw-r--r--.  1 mysql mysql 0 1112 12:02 setgroups-r--r--r--.  1 mysql mysql 0 1112 12:02 smaps-r--r--r--.  1 mysql mysql 0 1112 12:02 stack-r--r--r--.  1 mysql mysql 0 1031 19:53 stat-r--r--r--.  1 mysql mysql 0 1112 12:02 statm-r--r--r--.  1 mysql mysql 0 1112 12:00 status-r--r--r--.  1 mysql mysql 0 1112 12:02 syscalldr-xr-xr-x. 30 mysql mysql 0 1112 12:02 task-r--r--r--.  1 mysql mysql 0 1112 12:02 timers-rw-r--r--.  1 mysql mysql 0 1112 12:02 uid_map-r--r--r--.  1 mysql mysql 0 1112 12:02 wchan

进程目录下的子目录与文件的含义如下:

cmdline  # 保存了当前进程的启动命令。[root@localhost 25787]# cat cmdline/usr/sbin/mysqld--daemonize--pid-file=/var/run/mysqld/mysqld.pidcwd     # 链接到进程当前工作目录lrwxrwxrwx.  1 mysql mysql 0 1112 12:02 cwd -> /var/lib/mysqlexe     # 指向启动进程的可执行文件lrwxrwxrwx.  1 mysql mysql 0 1112 12:02 exe -> /usr/sbin/mysqldenviron  #包含与进程相关的环境变量[root@localhost 25787]# cat environLANG=zh_CN.UTF-8PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/binHOME=/var/lib/mysqlLOGNAME=mysqlUSER=mysqlSHELL=/bin/falsefd    # fd目录包含了进程打开的每一个文件的文件描述符。这些描述符都指向实际文件。[root@localhost 25787]# ll ./fd总用量 0lr-x------. 1 mysql mysql 64 1112 12:07 0 -> /dev/nulll-wx------. 1 mysql mysql 64 1112 12:07 1 -> /var/log/mysqld.loglrwx------. 1 mysql mysql 64 1112 12:07 10 -> /var/lib/mysql/ibdata1lrwx------. 1 mysql mysql 64 1112 12:07 11 -> /var/lib/mysql/ibtmp1lrwx------. 1 mysql mysql 64 1112 12:07 12 -> /tmp/ibbdwaLR (deleted)lrwx------. 1 mysql mysql 64 1112 12:07 13 -> /var/lib/mysql/mysql/servers.ibdlrwx------. 1 mysql mysql 64 1112 12:07 14 -> /var/lib/mysql/mysql/help_topic.ibdlrwx------. 1 mysql mysql 64 1112 12:07 15 -> /var/lib/mysql/mysql/help_relation.ibdlrwx------. 1 mysql mysql 64 1112 12:07 16 -> /var/lib/mysql/mysql/help_keyword.ibdlrwx------. 1 mysql mysql 64 1112 12:07 17 -> /var/lib/mysql/mysql/time_zone_name.ibdlrwx------. 1 mysql mysql 64 1112 12:07 18 -> /var/lib/mysql/mysql/time_zone.ibdlrwx------. 1 mysql mysql 64 1112 12:07 19 -> /var/lib/mysql/mysql/time_zone_transition.ibdl-wx------. 1 mysql mysql 64 1112 12:07 2 -> /var/log/mysqld.loglrwx------. 1 mysql mysql 64 1112 12:07 20 -> /var/lib/mysql/mysql/time_zone_transition_type.ibdlrwx------. 1 mysql mysql 64 1112 12:07 21 -> /var/lib/mysql/mysql/time_zone_leap_second.ibdlrwx------. 1 mysql mysql 64 1112 12:07 22 -> /var/lib/mysql/mysql/server_cost.ibdlrwx------. 1 mysql mysql 64 1112 12:07 23 -> /var/lib/mysql/mysql/engine_cost.ibdlrwx------. 1 mysql mysql 64 1112 12:07 24 -> /var/lib/mysql/sys/sys_config.ibdlrwx------. 1 mysql mysql 64 1112 12:07 25 -> /var/lib/mysql/mydb/t11.ibdlrwx------. 1 mysql mysql 64 1112 12:07 26 -> /var/lib/mysql/mysql/plugin.ibdlrwx------. 1 mysql mysql 64 1112 12:07 27 -> /var/lib/mysql/mysql/innodb_table_stats.ibdlrwx------. 1 mysql mysql 64 1112 12:07 28 -> /var/lib/mysql/mysql/innodb_index_stats.ibdlrwx------. 1 mysql mysql 64 1112 12:07 29 -> /var/lib/mysql/mysql/gtid_executed.ibdlrwx------. 1 mysql mysql 64 1112 12:07 3 -> /var/lib/mysql/ib_logfile0lr-x------. 1 mysql mysql 64 1112 12:07 30 -> /dev/urandomlrwx------. 1 mysql mysql 64 1112 12:07 31 -> socket:[65067]lrwx------. 1 mysql mysql 64 1112 12:07 32 -> socket:[65068]lrwx------. 1 mysql mysql 64 1112 12:07 33 -> /var/lib/mysql/mysql/user.MYIlrwx------. 1 mysql mysql 64 1112 12:07 34 -> /var/lib/mysql/mysql/user.MYDlrwx------. 1 mysql mysql 64 1112 12:07 35 -> /var/lib/mysql/mysql/db.MYIlrwx------. 1 mysql mysql 64 1112 12:07 36 -> /var/lib/mysql/mysql/db.MYDlrwx------. 1 mysql mysql 64 1112 12:07 37 -> /var/lib/mysql/mysql/proxies_priv.MYIlrwx------. 1 mysql mysql 64 1112 12:07 38 -> /var/lib/mysql/mysql/proxies_priv.MYDlrwx------. 1 mysql mysql 64 1112 12:07 39 -> /var/lib/mysql/mysql/tables_priv.MYIlrwx------. 1 mysql mysql 64 1112 12:07 40 -> /var/lib/mysql/mysql/tables_priv.MYDlrwx------. 1 mysql mysql 64 1112 12:07 41 -> /var/lib/mysql/mysql/columns_priv.MYIlrwx------. 1 mysql mysql 64 1112 12:07 42 -> /var/lib/mysql/mysql/columns_priv.MYDlrwx------. 1 mysql mysql 64 1112 12:07 43 -> /var/lib/mysql/mysql/procs_priv.MYIlrwx------. 1 mysql mysql 64 1112 12:07 44 -> /var/lib/mysql/mysql/procs_priv.MYDlrwx------. 1 mysql mysql 64 1112 12:07 45 -> /var/lib/mysql/mysql/event.MYIlrwx------. 1 mysql mysql 64 1112 12:07 46 -> /var/lib/mysql/mysql/event.MYDlrwx------. 1 mysql mysql 64 1112 12:07 47 -> /var/lib/mysql/mysql/proc.MYIlrwx------. 1 mysql mysql 64 1112 12:07 48 -> /var/lib/mysql/mysql/proc.MYDlrwx------. 1 mysql mysql 64 1112 12:07 49 -> /var/lib/mysql/mysql/event.MYDlrwx------. 1 mysql mysql 64 1112 12:07 5 -> /tmp/ibFDWuzF (deleted)lrwx------. 1 mysql mysql 64 1112 12:07 50 -> /var/lib/mysql/mysql/event.MYDlrwx------. 1 mysql mysql 64 1112 12:07 51 -> /var/lib/mysql/mysql/event.MYDlrwx------. 1 mysql mysql 64 1112 12:07 52 -> /var/lib/mysql/dzh/tb_department.ibdlrwx------. 1 mysql mysql 64 1112 12:07 53 -> /var/lib/mysql/dzh/tb_large_group.ibdlrwx------. 1 mysql mysql 64 1112 12:07 54 -> /var/lib/mysql/dzh/tb_team.ibdlrwx------. 1 mysql mysql 64 1112 12:07 55 -> /var/lib/mysql/dzh/tb_employee.ibdlrwx------. 1 mysql mysql 64 1112 12:07 56 -> /var/lib/mysql/dzh/tb_competing_goods_classification.ibdlrwx------. 1 mysql mysql 64 1112 12:07 57 -> /var/lib/mysql/dzh/tb_competing_goods.ibdlrwx------. 1 mysql mysql 64 1112 12:07 58 -> /var/lib/mysql/dzh/tb_brand.ibdlrwx------. 1 mysql mysql 64 1112 12:07 59 -> /var/lib/mysql/dzh/tb_product.ibdlrwx------. 1 mysql mysql 64 1112 12:07 6 -> /tmp/ibsmaK4i (deleted)lrwx------. 1 mysql mysql 64 1112 12:07 60 -> /var/lib/mysql/dzh/tb_goods.ibdlrwx------. 1 mysql mysql 64 1112 12:07 61 -> /var/lib/mysql/dzh/tb_packaged.ibdlrwx------. 1 mysql mysql 64 1112 12:07 62 -> /var/lib/mysql/dzh/tb_product_packaged_relation.ibdlrwx------. 1 mysql mysql 64 1112 12:07 63 -> /var/lib/mysql/dzh/tb_platform.ibdlrwx------. 1 mysql mysql 64 1112 12:07 64 -> /var/lib/mysql/dzh/tb_store.ibdlrwx------. 1 mysql mysql 64 1112 12:07 65 -> /var/lib/mysql/mysql/proc.MYDlrwx------. 1 mysql mysql 64 1112 12:07 66 -> /var/lib/mysql/mysql/proc.MYDlrwx------. 1 mysql mysql 64 1112 12:07 67 -> /var/lib/mysql/dzh/tb_goods_sales_info.ibdlrwx------. 1 mysql mysql 64 1112 12:07 68 -> /var/lib/mysql/dzh/tb_packaged_sales_info.ibdlrwx------. 1 mysql mysql 64 1112 12:07 69 -> /var/lib/mysql/dzh_example/goods.ibdlrwx------. 1 mysql mysql 64 1112 12:07 7 -> /tmp/ibBGQ0zW (deleted)lrwx------. 1 mysql mysql 64 1112 12:07 70 -> /var/lib/mysql/dzh_example/team.ibdlrwx------. 1 mysql mysql 64 1112 12:07 71 -> /var/lib/mysql/dzh_example/product.ibdlrwx------. 1 mysql mysql 64 1112 12:07 72 -> /var/lib/mysql/dzh_example/goods_product.ibdlrwx------. 1 mysql mysql 64 1112 12:07 73 -> /var/lib/mysql/dzh_example/not_package_sales.ibdlrwx------. 1 mysql mysql 64 1112 12:07 74 -> /var/lib/mysql/dzh_example/package_sales.ibdlrwx------. 1 mysql mysql 64 1112 12:07 75 -> /var/lib/mysql/dzh_example/package_product_sales.ibdlrwx------. 1 mysql mysql 64 1112 12:07 8 -> /tmp/ib4oxxSd (deleted)lrwx------. 1 mysql mysql 64 1112 12:07 9 -> /var/lib/mysql/ib_logfile1task   # task目录下包含了当前进程的每一个线程的相关信息,与进程运行时的相关文件一样。[root@localhost 25787]# ll ./task总用量 0dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25787dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25788dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25789dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25790dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25791dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25792dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25793dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25794dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25795dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25796dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25797dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25798dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25799dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25801dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25802dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25803dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25804dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25805dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25806dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25807dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25808dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25809dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25810dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25811dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25812dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25813dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25814dr-xr-xr-x. 6 mysql mysql 0 1112 12:09 25816limits  # 保存了进程使用资源的限制信息,软限制、硬限制及单位。[root@localhost 25787]# cat limitsLimit                     Soft Limit           Hard Limit           Units     Max cpu time              unlimited            unlimited            seconds   Max file size             unlimited            unlimited            bytes     Max data size             unlimited            unlimited            bytes     Max stack size            8388608              unlimited            bytes     Max core file size        0                    unlimited            bytes     Max resident set          unlimited            unlimited            bytes     Max processes             7208                 7208                 processes Max open files            5000                 5000                 files     Max locked memory         65536                65536                bytes     Max address space         unlimited            unlimited            bytes     Max file locks            unlimited            unlimited            locks     Max pending signals       7208                 7208                 signals   Max msgqueue size         819200               819200               bytes     Max nice priority         0                    0                    Max realtime priority     0                    0                    Max realtime timeout      unlimited            unlimited            us        

来源地址:https://blog.csdn.net/weixin_44377973/article/details/127818660

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯