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:显示进程的系统调用统计信息。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

葡萄串目标检测YoloV8——从Pytorch模型训练到C++部署

文章目录 软硬件准备数据准备数据处理脚本模型训练模型部署数据分享软硬件准备 训练端 PytorchultralyticsNvidia 3080Ti部署端 fastdeployonnxruntime数据准备 用labelimg进行数据标注 数据处理脚本 xml2yolo import os import glob import xml.etree.ElementTree as ETxm…

Linux下VSCode的安装和基本使用

应用场景&#xff1a;嵌入式开发。 基本只需要良好的编辑环境&#xff0c;能支持文件搜索和跳转&#xff0c;就挺OK的。 之所以要在Linux下安装&#xff0c;是因为在WIN11上安装后&#xff0c;搜索功能基本废了&#xff0c;咋弄都弄不好&#xff0c;又不方便重装win系统&#x…

波音危机:星际客机飞船故障,宇航员被困太空!马斯克的SpaceX的“龙”飞船来救援?

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 在人类探索宇宙的漫漫征途中&#xff0c;波音公司的“星际客机”承载着无限的希望与梦想&#xff0c;却也面临着前所未有的挑战。从原计划的8天…

C++ 106 之 list容器

#include <iostream> #include <string> using namespace std; // #include <vector> // 容器头文件 #include <algorithm> // 标准算法头文件 #include <list>void printList(const list<int> & list1){for(list<int>::const…

牛客小白月赛97:D走一个大整数迷宫

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 给一个 nmn\times mnm 矩阵迷宫&#xff0c; 第 iii 行第 jjj 列的值为 ci,jc_{i,j}ci,j​ &#xff0c;LHLHLH 在迷宫中迷路了&#xff0c;他需要你的帮助。 LHLHLH 当前在 (1,1)(1…

Python28-2 机器学习算法之SVM(支持向量机)

SVM&#xff08;支持向量机&#xff09; 支持向量机&#xff08;Support Vector Machine&#xff0c;SVM&#xff09;是一种用于分类和回归分析的监督学习模型&#xff0c;在机器学习领域中被广泛应用。SVM的目标是找到一个最佳的分割超平面&#xff0c;将不同类别的数据分开&…

笔记本重装系统怎么操作? windows电脑重装系统,超实用的四种方法

重新安装操作系统是维护计算机性能和确保系统稳定运行的重要步骤。对于 Windows 笔记本用户而言&#xff0c;熟悉重装系统的方法可以帮助他们解决各种问题&#xff0c;从提高系统速度到修复软件故障。然而具体来讲&#xff0c;笔记本重装系统怎么操作呢&#xff1f;接下来&…

基于SpringBoot和PostGIS的某国基地可视化实战

目录 前言 一、Java后台开发设计与实现 1、模型层实现 2、控制层设计 二、WebGIS界面实现 1、列表界面的定义 2、全球基地可视化 三、成果展示 1、全球部署情况 2、亚太地区 3、欧洲基地分布 4、中东的部署 四、总结 前言 在之前的博客中&#xff0c;我们曾经对漂亮…

我在高职教STM32——GPIO入门之按键输入(2)

大家好&#xff0c;我是老耿&#xff0c;高职青椒一枚&#xff0c;一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次&#xff0c;同行应该都懂的&#xff0c;老师在课堂上教学几乎是没什么成就感的。正因如此&#xff0c;才有了借助 CSDN 平台寻求认同感和成就…

影响LED显示屏质量的关键因素

LED电子显示屏以其环保节能的特点&#xff0c;成为现代显示技术的重要选择。然而&#xff0c;确保显示屏的质量和安全使用&#xff0c;需要考虑多个方面。本文将探讨影响LED电子显示屏质量的关键因素&#xff0c;以及在不同环境下如何预防失火现象。 材质因素 显示屏的质量首先…

排序(冒泡排序、选择排序、插入排序、希尔排序)-->深度剖析(一)

欢迎来到我的Blog&#xff0c;点击关注哦&#x1f495; 前言 排序是一种基本的数据处理操作&#xff0c;它涉及将一系列项目重新排列&#xff0c;以便按照指定的标准&#xff08;通常是数值大小&#xff09;进行排序。在C语言中&#xff0c;排序算法是用来对元素进行排序的一系…

C语言从入门到进阶(15万字总结)

前言&#xff1a; 《C语言从入门到进阶》这本书可是作者呕心沥血之作&#xff0c;建议零售价1元&#xff0c;当然这里开个玩笑。 本篇博客可是作者之前写的所有C语言笔记博客的集结&#xff0c;本篇博客不止有知识点&#xff0c;还有一部分代码练习。 有人可能会问&#xff…

“ONLYOFFICE 8.1:提升用户体验和编辑功能的全面升级”

引言 官网链接 在当今快节奏的工作环境中&#xff0c;高效地处理文档是每个职场人士必备的技能。ONLYOFFICE 桌面编辑器凭借其强大的功能和用户友好的界面&#xff0c;成为了提升文档处理效率的得力助手。本文将介绍 ONLYOFFICE 桌面编辑器的核心特性&#xff0c;并展示如何通…

PAI3D: Painting Adaptive Instance-Prior for 3D Object Detection论文讲解

PAI3D: Painting Adaptive Instance-Prior for 3D Object Detection论文讲解 1. 引言2. PAI3D框架2.1 Instance Painter2.2 Adaptive Projection Refiner2.3 Fine-granular Detection Head 3. 实验结果3.1 消融实验 1. 引言 3D目标检测对于自动驾驶来说是一个非常重要的模块&a…

鸿蒙系统——强大的分布式系统

鸿蒙相比较于传统安卓最最最主要的优势是微内核分布式操作系统&#xff0c;具有面向未来&#xff0c;跨设备无缝协作&#xff0c;数据共享的全场景体验。下面简单来感受一下鸿蒙系统的多端自由流转。 自由流转概述 场景介绍 随着全场景多设备的生活方式不断深入&#xff0c;…

background 与 background-image

相同点&#xff1a;background 与 background-image都可以用于设置背景图 区别. background既可以用于设置背景图&#xff0c; 又可以用于设置CSS样式&#xff0c;还可以用于设置背景属性。 background-image只能用于设置背景图 background能设置的背景属性&#xff0c;如下&…

学习过程中遇到的 部分问题及解决办法

1.安装build wheel时报错&#xff1a; The detected CUDA version (12.1) mismatches the version that was used to compile PyTorch (11.7). Please make sure to use the same CUDA versions. 由于cuda版本和 当前虚拟环境中的pytorch-cudatoolkit版本不同&#xff0c; 解…

数据结构历年考研真题对应知识点(数组和特殊矩阵)

目录 3.4数组和特殊矩阵 3.4.2数组的存储结构 【二维数组按行优先存储的下标对应关系(2021)】 3.4.3特殊矩阵的压缩存储 【对称矩阵压缩存储的下标对应关系(2018、2020)】 【上三角矩阵采用行优先存储的应用(2011)】 【三对角矩阵压缩存储的下标对应关系(2016)】 3.4.…

【AIGC】《AI-Generated Content (AIGC): A Survey》

文章目录 相关概念What is AI-generated content?Necessary conditions of AIGCHow can AI make the content better?The industrial chain of AIGCAdvantages of large-scale pre-trained modelsGeneration of smart textPros of AIGCCons of AIGCAIGC and Metaverse 挑战潜…

【Vue】Vue.js中常见的几种语法

在 Vue.js 中&#xff0c;主要的语法可以分为以下几种&#xff1a; 插值语法 (Interpolation) 使用双大括号 {{ }} 进行文本插值。 示例&#xff1a; {{ message }} 指令语法 (Directives) 指令是特殊的标记&#xff0c;用于告诉Vue框架如何操作DOM。Vue提供了多种内置指…