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.rhkb.cn/news/364013.html

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

相关文章

51-52Windows密码安全性测试与Windows提权

目录 Windows密码安全性测试 一、本地管理员密码如何直接提取 1、直接通过mimikatz读取管理员密码 2、使用laZagne工具读取管理员密码 二、利用Hash远程登录系统 window提权 三、远程webshell执行命令解决 不能执行原因&#xff1a; 解决方法&#xff1a;单独上传cmd.e…

利用python爬取上证指数股吧评论并保存到mongodb数据库

大家好&#xff0c;我是带我去滑雪&#xff01; 东方财富网是中国领先的金融服务网站之一&#xff0c;以提供全面的金融市场数据、资讯和交易工具而闻名。其受欢迎的“股吧”论坛特别适合爬取股票评论&#xff0c;东方财富网的股吧聚集了大量投资者和金融分析师&#xff0c;他们…

夏令营1期-对话分角色要素提取挑战赛-第①次打卡

零基础入门大模型技术竞赛 简介&#xff1a; 本次学习是 Datawhale 2024 年 AI 夏令营第一期&#xff0c;学习活动基于讯飞开放平台“基于星火大模型的群聊对话分角色要素提取挑战赛”开展实践学习。 适合想 入门并实践大模型 API 开发、了解如何微调大模型的学习者参与 快来…

【C++】哈希表

目录 一、unordered系列关联式容器 二、哈希 2.1 概念 2.2 哈希冲突 2.3 哈希函数 &#xff08;1&#xff09;直接定址法 &#xff08;2&#xff09;除留余数法 &#xff08;3&#xff09;平方取中法 &#xff08;4&#xff09;折叠法 &#xff08;5&#xff09;随机…

springboot注解@ComponentScan注解作用

一 ComponentScan作用 1.1 注解作用 项目会默认扫描SpringBootApplication注解所在路径的同级和下级的所有子包&#xff0c;使用ComponentScan后他会取代掉默认扫描。 ComponentScan 是Spring框架的注解&#xff0c;它的作用是扫描指定的包路径下的标有 Component、Service、…

已备案网站变更并且不影响现有业务的方案

已备案网站变更并且不影响现有业务的方案 近日有个工作上的需求&#xff0c;已备案网站变更并且不影响现有业务&#xff0c;记录一下。 需求 域名&#xff1a;XXXXXX.com备案变更前主体&#xff1a; 海南XXXXXX科技有限公司 备案变更后主体&#xff1a; 深圳XXXXXX科技有限…

梦想CAD二次开发

1.mxdraw简介 mxdraw是一个HTML5 Canvas JavaScript框架&#xff0c;它在THREE.js的基础上扩展开发&#xff0c;为用户提供了一套在前端绘图更为方便&#xff0c;快捷&#xff0c;高效率的解决方案&#xff0c;mxdraw的实质为一个前端二维绘图平台。你可以使用mxdraw在画布上绘…

50-2 内网信息收集 - 内网工作环境(域相关知识)

一、工作组 工作组(Work Group)是局域网中最基本的资源管理模式,适用于小规模网络环境。 工作组的定义: 工作组是将不同功能或部门的计算机分组管理的方式。它提供了层次化的网络资源管理,使得组织内的计算机可以按照功能或部门分类。每个工作组有一个自定义的主机名称,…

Java访问修饰符的区别

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

零基础STM32单片机编程入门(四)ADC详解及实战含源码视频

文章目录 一.概要二.STM32F103C8T6单片机ADC外设特点三.STM32单片机ADC内部结构图1.ADC相关引脚说明2.ADC通道分类3.触发源4.转换周期5.电压转换计算6.更精确电压转换计算 四.规则通道ADC采集信号流向1.单次转换模式2.连续转换模式 五.CubeMX配置一个ADC采集例程六.CubeMX工程源…

AI基础:从线性回归到梯度下降

一个简单的问题&#xff1a; 如果此时你正站在迷路缭绕的山坡上&#xff0c;能见度不高&#xff0c;但是你又想去往最低的山谷的位置&#xff0c;怎么走&#xff1f; 很简单&#xff0c;哪里陡那就往那里走呗——而这就是梯度下降算法的思想。 古话说&#xff1a;“先发制于人…

mindspore打卡第9天 transformer的encoder和decoder部分

mindspore打卡第9天 transformer的encoder和decoder部分 import mindspore from mindspore import nn from mindspore import ops from mindspore import Tensor from mindspore import dtype as mstypeclass ScaledDotProductAttention(nn.Cell):def __init__(self, dropout_…

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

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

推荐一款免费的GIF编辑器——【ScreenToGif编辑器】

读者大大们好呀&#xff01;&#xff01;!☀️☀️☀️ &#x1f440;期待大大的关注哦❗️❗️❗️ &#x1f680;欢迎收看我的主页文章➡️木道寻的主页 文章目录 &#x1f525;前言&#x1f680;素材准备&#x1f680;逐帧制作&#x1f680;保存图片⭐️⭐️⭐️总结 &#…

LangGPT:高质量提示词框架

题目&#xff1a;LangGPT: Rethinking Structured Reusable Prompt Design Framework for LLMs from the Programming Language作者: Ming Wang; Yuanzhong Liu; Xiaoming Zhang; Songlian Li; Yijie Huang; Chi Zhang; Daling Wang; Shi Feng; Jigang LiDOI: 10.48550/arXiv.2…

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

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

【C++11(二)】lambda表达式和可变参数模板

一、可变参数模板 C11的新特性可变参数模板 能够让您创建可以接受 可变参数的函数模板和类模板 // Args是一个模板参数包&#xff0c;args是一个函数形参参数包 // 声明一个参数包Args...args&#xff0c;这个参数包中可以包含0到任意个模板参数。 template <class ...Arg…

智慧记账,轻松管理,让借还款明细一目了然,一键导出

在繁忙的生活中&#xff0c;财务记账管理往往成为我们的一大难题。尤其是面对频繁的借还款项&#xff0c;如何快速、准确地记录每一笔收支明细&#xff0c;并确保数据的清晰、完整&#xff0c;成为许多人关注的焦点。现在&#xff0c;我们为您带来一款全新的记账管理工具——晨…

【第三方JSON库】org.json.simple用法初探—Java编程【Eclipse平台】【不使用项目管理工具】【不添加依赖解析】

本文将重点介绍&#xff0c;在不使用项目管理工具&#xff0c;不添加依赖解析情况下&#xff0c;【第三方库】JSON.simple库在Java编程的应用。 JSON.simple是一种由纯java开发的开源JSON库&#xff0c;包含在JSON.simple.jar中。它提供了一种简单的方式来处理JSON数据和以JSO…

有趣的仿神经猫html5圈小猫游戏源码

有趣的仿神经猫html5圈小猫游戏源码,点击小圆点&#xff0c;围住小猫游戏。猫已经跑到地图边缘&#xff0c;你输了。内含json数据&#xff0c;部署到服务器方可运行 微信扫码免费获取源码