网站建设添加音乐的代码,免费缩短链接,网站 功能建设上 不足,德勤管理咨询1、概念
在Linux系统中#xff0c;/proc目录是一个特殊的文件系统#xff0c;通常被称为proc文件系统或procfs。这个文件系统以文件系统的方式为内核与进程之间的通信提供了一个接口。/proc目录中的文件大多数都提供了关于系统状态的信息#xff0…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。(rootKatarina): 表示内核是在名为 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]
对于每个正在运行的进程都有一个以其进程IDPID命名的目录。这些目录包含了关于该进程的详细信息如命令行、环境变量、内存映射、打开的文件描述符等。 attr进程的访问控制列表ACL权限设置。cmdline进程启动时的命令行参数。cwd进程的当前工作目录。environ进程的环境变量列表。exe进程的可执行文件路径。fd进程打开的文件描述符列表。status包含有关进程当前状态的信息如进程状态、内存使用情况等。sched显示进程的调度器相关信息。maps显示进程内存映射的详细信息。limits显示进程资源限制。stat显示进程状态信息。io显示进程的I/O统计信息。oom_scoreOOMOut Of Memory调度分数决定进程在内存不足时被系统杀死的优先级。smaps显示进程的内存使用情况包括详细的内存映射信息。task包含有关进程的线程信息。syscall显示进程的系统调用统计信息。