Linux /proc目录总结

1、概念

在Linux系统中,/proc目录是一个特殊的文件系统,通常被称为"proc文件系统"或"procfs"。这个文件系统以文件系统的方式为内核与进程之间的通信提供了一个接口。/proc目录中的文件大多数都提供了关于系统状态的信息,如运行的进程、内存使用、设备驱动等。

2、常用目录文件

2.1 /proc/cpuinfo

提供关于CPU的信息,如型号、缓存大小、频率等,可以直接通过cat命令查看:

  • processor: 表示 CPU 的编号,从 0 开始计数。
  • BogoMIPS: 这是一个用于粗略衡量 CPU 性能的指标,称为 "Bogomips"。它表示每秒百万条指令(MIPS),但是这个值与真实的性能并不直接对应,主要用于比较不同 CPU 的相对性能。
  • Features: 表示 CPU 支持的功能,包括:
    • fp: 浮点运算
    • asimd: ARM SIMD 指令集
    • aes: AES 加密指令集
    • pmull: 乘法指令集
    • sha1: SHA-1 哈希算法
    • sha2: SHA-2 哈希算法
    • crc32: CRC32 校验算法
  • CPU implementer: 表示 CPU 的制造商,0x41 表示 ARM 公司。
  • CPU architecture: 表示 CPU 的架构,8 表示 ARMv8 架构。
  • CPU variant: 表示 CPU 的变种,0x0 表示标准 ARMv8 架构。
  • CPU part: 表示 CPU 的型号,0xd03 表示 ARM Cortex-A53 处理器。
  • CPU revision: 表示 CPU 的修订版本,4 表示特定的修订版本。

2.2 /proc/meminfo

提供关于系统内存使用情况的统计信息,可以直接通过cat命令查看:

  • MemTotal: 系统的总物理内存,单位为 kB。
  • MemFree: 系统当前空闲的物理内存,单位为 kB。
  • MemAvailable: 系统当前可用的物理内存,单位为 kB。这个值比 MemFree 大,因为其还考虑了缓冲区和缓存的可用空间。
  • Buffers: 用于存储磁盘块的缓冲区大小,单位为 kB。
  • Cached: 缓存了磁盘数据的内存大小,单位为 kB。
  • Active: 最近被访问过的内存页,单位为 kB。
  • Inactive: 一段时间没有被访问的内存页,单位为 kB。
  • Active(anon): 匿名内存页,即不映射到任何文件,如进程堆栈、堆内存等。
  • Inactive(anon): 匿名内存页中长时间未被访问的页面。
  • Active(file): 文件映射到内存的页,如文件的内容、库函数等。
  • Inactive(file): 文件映射到内存中长时间未被访问的页面。

2.3 /proc/mounts

显示当前系统上已挂载的文件系统,可以直接通过cat命令查看:

其大致按以下格式:

<设备节点> <挂载点> <文件系统类型> <挂载选项> <挂载次数> <文件系统检查顺序>
  • 设备节点 (Device node): 表示文件系统的设备节点或者分区的路径,比如 /dev/mmcblk0p1
  • 挂载点 (Mount point): 文件系统被挂载到的目录路径,比如 / 表示根目录。
  • 文件系统类型 (Filesystem type): 表示文件系统的类型,比如 ext4。
  • 挂载选项 (Mount options): 表示文件系统被挂载时指定的选项,比如 rw 表示可读写,ro 表示只读。
  • 挂载次数 (Mount count): 表示文件系统被挂载的次数。
  • 文件系统检查顺序 (File system check order): 如果文件系统需要进行检查,该字段指示了文件系统检查的顺序。

2.4 /proc/partitions

列出所有已识别的磁盘分区,可以直接通过cat命令查看:

  • major: 主设备号,用于标识设备类型,例如 1 表示 RAM 设备。
  • minor: 次设备号,用于区分同类型设备的不同分区,例如 0 和 1 表示 RAM 设备的两个不同分区。
  • #blocks: 分区的大小,以块为单位。
  • name: 分区的名称,例如 ram0 和 ram1

2.5 /proc/version

显示当前运行的内核版本信息,可以直接通过cat命令查看:

  • Linux version: 指明了当前运行的 Linux 内核版本号,这里是 4.9.170-sun50iw9
  • (root@Katarina): 表示内核是在名为 "Katarina" 的机器上编译的。
  • (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))): 说明了编译内核所使用的 GCC 编译器的版本信息,包括版本号、编译日期和目标平台信息。
  • #34: 表示内核的补丁版本号,即在最初的版本基础上进行了 34 次修改。
  • SMP: 表示内核支持对称多处理器(Symmetric Multi-Processing),即系统可以同时运行在多个 CPU 上。
  • PREEMPT: 表示内核支持抢占式内核,即进程可以被其他更高优先级的进程抢占,提高系统响应速度。

2.6 /proc/net

包含网络相关的统计和配置信息

其中:

  • route: 这个文件显示了系统的路由表,包含了系统中各个网络的路由信息。可以通过查看这个文件来查看当前系统路由的配置情况。

  • tcp, udp: 这两个文件分别显示了系统当前的 TCP 和 UDP 连接情况,列出了系统中所有的 TCP 和 UDP 连接的详细信息。

2.7 /proc/sys

/proc/sys 目录下存储着 Linux 内核运行时的系统参数,通过读取和写入这些文件,可以控制和配置系统的许多功能。这些参数通常用于调整内核的行为,优化系统性能或修改网络设置等。

  • /proc/sys/kernel/

    • hostname: 可以通过读取和写入这个文件来获取和更改系统的主机名。
    • osrelease: 包含正在运行的内核版本信息。
    • panic: 设置系统在遇到致命错误后自动关闭之前的延迟时间。
  • /proc/sys/net/

    • ipv4/
      • ip_forward: 控制系统是否允许 IP 转发功能。
      • ipv4/tcp_keepalive_time: 设置 TCP 连接的保活时间。
    • core/
      • rmem_default, rmem_max: 指定 TCP 接收缓冲区的默认和最大大小。
      • wmem_default, wmem_max: 指定 TCP 发送缓冲区的默认和最大大小。
  • /proc/sys/vm/

    • swappiness: 控制系统在内存不足时使用 swap 分区的程度。
    • overcommit_memory: 控制内存过量分配的行为。

2.8 /proc/interrupts

 这个文件显示了系统中各个硬件设备正在使用的中断请求(IRQ)的情况,可以帮助用户查看系统中断的分配情况,以及了解每个设备所占用的中断资源。

  • 每行对应一个硬件设备,在每一行中列出了设备名称、中断请求号(IRQ)以及该设备触发的中断次数。
  • 可以通过查看这个文件来检查系统中是否存在中断冲突(IRQ conflict),了解系统中硬件设备的使用情况,以及定位可能的硬件问题。

2.9 /proc/uptime

显示系统自上次启动以来的运行时间,以及空闲时间。

  • 第一个值(25221.66)表示系统自上次启动以来运行的时间(单位为秒)。
  • 第二个值(100623.29)表示系统空闲时间的总计(单位为秒)。

2.10 /proc/loadavg

显示系统的负载平均值

  • 前三个数值(1.00 1.00 1.00)表示系统在过去 1 分钟、5 分钟和 15 分钟内的平均负载。这些数字是指任务队列中平均活跃的进程数。
  • 第四个值(1/167)表示正在运行/总进程数。
  • 第五个值(3608)是最近运行的进程的进程 ID。

2.11 /proc/stat

提供关于CPU活动的统计信息

每一列的含义如下:

  • 用户态时间 (user): CPU 花在用户进程上的时间(以节拍计)。
  • 内核态时间 (nice): CPU 花在优先级较低的进程上的时间(以节拍计)。
  • 系统调用时间 (system): CPU 花在系统调用上的时间(以节拍计)。
  • 空闲时间 (idle): CPU 处于空闲状态的时间(以节拍计)。
  • 等待 I/O 时间 (iowait): CPU 等待 I/O 操作完成的时间(以节拍计)。
  • 硬件中断时间 (irq): CPU 处理硬件中断的时间(以节拍计)。
  • 软中断时间 (softirq): CPU 处理软件中断的时间(以节拍计)。
  • 窃取时间 (steal): CPU 被虚拟机窃取的时间(以节拍计)。
  • 虚拟化时间 (guest): CPU 花在运行虚拟机上的时间(以节拍计)。
  • 虚拟化时间 (guest_nice): CPU 花在运行虚拟机中优先级较低的进程上的时间(以节拍计)。

例如,第一行 cpu 7963 13 16873 9957357 409 0 460 0 0 0 代表了所有 CPU 核心的统计信息:

  • cpu: 表示所有 CPU 核心的总统计信息。
  • 7963: 所有 CPU 核心的用户态时间。
  • 13: 所有 CPU 核心的内核态时间。
  • 16873: 所有 CPU 核心的系统调用时间。
  • 9957357: 所有 CPU 核心的空闲时间。
  • 409: 所有 CPU 核心的等待 I/O 时间。
  • 0: 所有 CPU 核心的硬件中断时间。
  • 460: 所有 CPU 核心的软件中断时间。
  • 0: 所有 CPU 核心的窃取时间。
  • 0: 所有 CPU 核心的虚拟化时间。
  • 0: 所有 CPU 核心的虚拟化时间(优先级较低)。

2.12 /proc/bus

包含有关系统总线和连接到这些总线的设备的信息

  • /proc/bus/pci/ 目录包含有关 PCI 总线设备的信息,可以查看系统中的PCI设备列表。
  • /proc/bus/usb/ 目录包含有关 USB 设备的信息,可以查看 USB 设备的配置信息和状态。
  • 这些文件和目录可以帮助用户了解系统中连接的总线设备的情况,进行总线级别的故障排除和信息查询。

2.13 /proc/devices

列出当前内核所识别的设备驱动程序的主设备号:

2.14 /proc/fs

包含有关当前系统上支持的文件系统的信息。

  • /proc/fs/nfsd/exports:显示 NFS 服务器的导出列表。
  • /proc/fs/nfsd/version:显示 NFS 服务器模块的版本信息。
  • /proc/fs/nfs:包含 NFS 客户端和服务器相关的信息。

2.15 /proc/[pid]

对于每个正在运行的进程,都有一个以其进程ID(PID)命名的目录。这些目录包含了关于该进程的详细信息,如命令行、环境变量、内存映射、打开的文件描述符等。

  • attr:进程的访问控制列表(ACL)权限设置。
  • cmdline:进程启动时的命令行参数。
  • cwd:进程的当前工作目录。
  • environ:进程的环境变量列表。
  • exe:进程的可执行文件路径。
  • fd:进程打开的文件描述符列表。
  • status:包含有关进程当前状态的信息,如进程状态、内存使用情况等。
  • sched:显示进程的调度器相关信息。
  • maps:显示进程内存映射的详细信息。
  • limits:显示进程资源限制。
  • stat:显示进程状态信息。
  • io:显示进程的I/O统计信息。
  • oom_score:OOM(Out Of Memory)调度分数,决定进程在内存不足时被系统杀死的优先级。
  • smaps:显示进程的内存使用情况,包括详细的内存映射信息。
  • task:包含有关进程的线程信息。
  • syscall:显示进程的系统调用统计信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/36558.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux容器篇-Docker容器的使用

文章目录 前言一、Docker的安装主机环境准备关闭防火墙关闭selinux时间同步关闭 swap配置操作系统yum源配置国内Docker-ce镜像源注意 二、安装docker-ce三、配置镜像加速器阿里云镜像加速器生成 四、Docker的使用Docker 客户端获取镜像启动容器查看所有的容器&#xff1a;启动已…

【Python】已解决:ModuleNotFoundError: No module named ‘LAC‘

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决&#xff1a;ModuleNotFoundError: No module named ‘LAC‘ 一、分析问题背景 在开发或运行Python程序时&#xff0c;可能会遇到各种各样的报错&#xff0c;其中“ModuleNo…

安装OpenHarmony编译库和工具集

一、搭建开发环境 1.1、Ubuntu搭建&#xff0c;参考 VMware完美安装Ubuntu20.04-CSDN博客文章浏览阅读286次&#xff0c;点赞5次&#xff0c;收藏3次。详细介绍了VMware下安装Ubuntu20.04https://blog.csdn.net/longyuzi/article/details/139935769 1.2、拉取OpenHarmony源码…

Android studio Logcat 功能介绍

介绍 Android Studio Jellyfish版本下logcat功能&#xff0c;不同的tag会有不同的颜色&#xff0c;不同level等级的log默认也有不同的颜色。log过滤修改的更简洁了&#xff0c;原先的log视图只需要勾选就可以选择不同level的log了&#xff0c;当前需要在输入框中进行过滤器匹配…

正版软件 | R-Studio Corporate:企业级数据恢复的终极解决方案

数据是企业的生命线&#xff0c;而数据丢失可能随时威胁到企业的正常运营。R-Studio Corporate 是一款专为企业环境设计的多功能数据恢复软件&#xff0c;确保您在面临数据危机时&#xff0c;能够迅速、高效地恢复宝贵数据。 跨平台操作&#xff0c;灵活恢复 R-Studio Corporat…

从灵感到实践:Kimi辅助完成学术论文选题的文艺之旅

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 昨天我们为大家介绍了ChatGPT辅助完成实现设计&#xff08;AI与学术的交响&#xff1a;ChatGPT辅助下的实验设计新篇章&#xff09;。今天我们再来看看Kimi对于论文选题都能提供哪些帮助…

【一生一芯】笔记

文章目录 一级目录二级目录三级目录缓存的验证 一级目录 二级目录 三级目录 缓存的验证

阿里云 CosyVoice 语音合成大模型 API 实践

前言 最近大模型这么火&#xff0c;就想着玩一下&#xff0c;作为非 AI 从业者&#xff0c;最好的方式就是调用云服务的 API 来构建自己的 AI 应用。首选当然是国外的 ChatGPT API&#xff0c;但是说实话那个玩意有点贵&#xff0c;而且最近国内也被封禁不让调用了&#xff0c…

计算机毕业设计hadoop+spark+hive知识图谱酒店推荐系统 酒店数据分析可视化大屏 酒店爬虫 高德地图API 酒店预测系统 大数据毕业设计

酒店推荐系统开题报告 一、研究背景与意义 随着旅游业的蓬勃发展和人们生活水平的提高&#xff0c;酒店行业迎来了前所未有的发展机遇。然而&#xff0c;面对众多的酒店选择&#xff0c;消费者往往难以在短时间内找到最适合自己需求和预算的酒店。因此&#xff0c;开发一款高…

晋级国赛!卓翼飞思技术引领,助力辽宁赛区机器人及人工智能大赛圆满收官

近日&#xff0c;第二十六届中国机器人及人工智能大赛—辽宁赛区选拔赛在大连海事大学圆满收官。本次大赛吸引来自辽宁工业大学、大连理工大学等知名高校的10余支队伍参与&#xff0c;充分展现各高校在机器人及人工智能领域的深厚实力和创新精神。其中&#xff0c;由卓翼飞思实…

【排序算法】—— 希尔排序

目录 一、希尔排序原理 二、希尔排序的思路 三、希尔排序为什么快 四、如何取增量 五、源码 希尔排序是简单插入排序的一种升级版&#xff0c;它也是用了插入的思想&#xff0c;而插入排序相比冒泡排序和选择排序的效率要高的多&#xff0c;再将它优化为希尔排序后效率跟原…

51单片机STC89C52RC——12.1 数据存储芯片AT24C02

目的/效果 利用存储芯片AT24C02存储数据&#xff0c;LCD1602显示存储的数据。 一&#xff0c;STC单片机模块 二&#xff0c;AT24C02存储芯片 2.1 介绍 AT24C02是一个2K位串行CMOS E2PROM&#xff0c;内部含有256个8位字节&#xff0c;采用先进CMOS技术实质上减少了器件的功…

通讯录管理系统——查找联系人

功能描述&#xff1a;按照姓名查看指定联系人的信息 查看联系人实现步骤 1.封装查找联系人函数 2.测试查找指定联系人 一、封装查找联系人函数 实现思路&#xff1a;判断用户指定的联系人是否存在&#xff0c;如果存在&#xff0c;显示信息&#xff0c;不存在提示查无此人…

如何在FastAPI服务器中添加黑名单和白名单实现IP访问控制

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 添加黑名单功能步骤1:安装依赖步骤2:创建FastAPI应用步骤3:添加黑名单📝 添加白名单功能步骤1:创建白名单列表步骤2:添加白名单检查⚓️ 相关链接 ⚓️📖 介绍 📖 在现代网络应用开发中,为了增强…

C++【引用】

P. S.&#xff1a;以下代码均在VS2019环境下测试&#xff0c;不代表所有编译器均可通过。 P. S.&#xff1a;测试代码均未展示头文件stdio.h的声明&#xff0c;使用时请自行添加。 博主主页&#xff1a;LiUEEEEE                        …

进程间通信简介-I.MX6U嵌入式Linux C应用编程学习笔记基于正点原子阿尔法开发板

进程间通信简介 进程间通信简介 进程间进程简称IPC(interprocess communication)&#xff0c;进程间通信就是在不同进程之间传递信息或交换信息 进程间通信的目的 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程 资源共享&#xff1a;多个进程之间共享同样的…

武汉星起航:一站式服务,助力亚马逊卖家高效运营,实现收益飞跃

在跨境电商的浪潮中&#xff0c;武汉星起航电子商务有限公司以其独特的一站式跨境电商服务&#xff0c;为众多亚马逊卖家提供了强有力的支持&#xff0c;助力他们在不断发展的市场中脱颖而出&#xff0c;实现收益的大幅提升。 武汉星起航的一站式跨境电商服务&#xff0c;以其…

JAVA医院绩效考核系统源码:三级公立医院绩效考核系统源码 可源码交付,支持二开

JAVA医院绩效考核系统源码&#xff1a;三级公立医院绩效考核系统源码 可源码交付&#xff0c;支持二开 医院绩效考核系统是一个集数据采集、分析、评估、反馈于一体的信息化工具&#xff0c;旨在提高医疗服务质量、优化资源配置、促进医院可持续发展。以下是对医院绩效考核系统…

API接口知识小结

应用程序接口API&#xff08;Application Programming Interface&#xff09;&#xff0c;是提供特定业务输出能力、连接不同系统的一种约定。这里包括外部系统与提供服务的系统&#xff08;中后台系统&#xff09;或后台不同系统之间的交互点。包括外部接口、内部接口&#xf…

Java访问修饰符的区别

public&#xff1a;公开的&#xff0c;任何地方都可以访问。 protected&#xff1a;受保护的&#xff0c;同一个包中的类和所有子类(可跨包)可以访问。 private&#xff1a;私有的&#xff0c;只有在同一个类中可以访问。 默认&#xff08;无修饰符&#xff09;&#xff1a;包级…