`

/proc/pid目录下文件的含义

 
阅读更多

attr:

进程的属性

 

cmdline:

启动进程时执行的命令

 

cwd:

指向进程当前工作目录的软链

 

environ:

进程执行时使用的环境变量,文件内容使用null字节('\0')分隔,然后以null字节结束。因此获取进程使用的环境变量使用如下:

(cat /proc/pid/environ; echo) | tr '\000' '\n'

 

fd:

 此目录包含进程打开的所有文件,文件名为文件描述符,目录中每个软连接都会指向进程打开的实际文件。

 

limits:

该文件存储了进程的软限制,硬限制等信息。

 

maps:

 

 

     address        perms offset  dev   inode   pathname

     08048000-08056000 r-xp 00000000 03:0c 64593   /usr/sbin/gpm

     4001f000-40135000 r-xp 00000000 03:0c 45494   /lib/libc-2.2.4.so

         * address:进程占用的地址空间。

         * perms:权限集

                 r = read

                 w = write

                 x = execute

                 s = shared

                 p = private (copy on write)

        * offset:文件偏移量。

        * dev:为设备(major:minor)

        * inode:设备上的inode。0为没有inode关联互内存区域,通常为:BSS(uninitialized data)

 

root:

指向进程更目录的软链

 

smaps:

 

     This file shows memory consumption for each of the process's mappings.  For each of mappings there is a series of lines such as the following:

 

 08048000-080bc000 r-xp 00000000 03:02 13130   /bin/bash

 Size:      464 kB

 Rss:      424 kB

 Shared_Clean:      424 kB

 Shared_Dirty: 0 kB

 Private_Clean: 0 kB

 Private_Dirty: 0 kB

 

     The first of these lines shows the same information as is displayed for the mapping in /proc/[pid]/maps. The remaining lines show the size of

     the  mapping,  the amount of the mapping that is currently resident in RAM, the number of clean and dirty shared pages in the mapping, and the

     number of clean and dirty private pages in the mapping.

 

     This file is only present if the CONFIG_MMU kernel configuration option is enabled.


status:
 Name:  bash
 State:  S (sleeping)
 Tgid:  3515
 Pid:  3515
 PPid:  3452
 TracerPid:  0
 Uid:  1000  1000  1000  1000
 Gid:  100  100  100  100
 FDSize: 256
 Groups: 16 33 100
 VmPeak:     9136 kB
 VmSize:     7896 kB
 VmLck: 0 kB
 VmHWM:      7572 kB
 VmRSS:      6316 kB
 VmData:     5224 kB
 VmStk: 88 kB
 VmExe:       572 kB
 VmLib:      1708 kB
 VmPTE: 20 kB
 Threads:  1
 SigQ:  0/3067
 SigPnd: 0000000000000000
 ShdPnd: 0000000000000000
 SigBlk: 0000000000010000
 SigIgn: 0000000000384004
 SigCgt: 000000004b813efb
 CapInh: 0000000000000000
 CapPrm: 0000000000000000
 CapEff: 0000000000000000
 CapBnd: ffffffffffffffff
 Cpus_allowed:  00000001
 Cpus_allowed_list:  0
 Mems_allowed:  1
 Mems_allowed_list:  0
 voluntary_ctxt_switches:  150
 nonvoluntary_ctxt_switches:  545

     The fields are as follows:

     * Name: Command run by this process.

     * State: Current state of the process.  One of "R (running)", "S (sleeping)", "D (disk sleep)", "T (stopped)", "T (tracing  stop)",  "Z  (zom-
bie)", or "X (dead)".

     * Tgid: Thread group ID (i.e., Process ID).

     * Pid: Thread ID (see gettid(2)).

     * TracerPid: PID of process tracing this process (0 if not being traced).

     * Uid, Gid: Real, effective, saved set, and file system UIDs (GIDs).

     * FDSize: Number of file descriptor slots currently allocated.

     * Groups: Supplementary group list.

     * VmPeak: Peak virtual memory size.

     * VmSize: Virtual memory size.

     * VmLck: Locked memory size.

     * VmHWM: Peak resident set size ("high water mark").

     * VmRSS: Resident set size.

     * VmData, VmStk, VmExe: Size of data, stack, and text segments.

     * VmLib: Shared library code size.

     * VmPTE: Page table entries size (since Linux 2.6.10).

     * Threads: Number of threads in process containing this thread.

     * SigPnd, ShdPnd: Number of signals pending for thread and for process as a whole (see pthreads(7) and signal(7)).

     * SigBlk, SigIgn, SigCgt: Masks indicating signals being blocked, ignored, and caught (see signal(7)).

     * CapInh, CapPrm, CapEff: Masks of capabilities enabled in inheritable, permitted, and effective sets (see capabilities(7)).

     * CapBnd: Capability Bounding set (since kernel 2.6.26, see capabilities(7)).

     * Cpus_allowed: Mask of CPUs on which this process may run (since Linux 2.6.24, see cpuset(7)).

     * Cpus_allowed_list: Same as previous, but in "list format" (since Linux 2.6.26, see cpuset(7)).

     * Mems_allowed: Mask of memory nodes allowed to this process (since Linux 2.6.24, see cpuset(7)).

     * Mems_allowed_list: Same as previous, but in "list format" (since Linux 2.6.26, see cpuset(7)).

     * voluntary_context_switches, nonvoluntary_context_switches: Number of voluntary and involuntary context switches (since Linux 2.6.23).

task:
进程包含的线程,子目录名是线程的ID



分享到:
评论

相关推荐

    操作系统课程实验报告-实验二 观察linux的行为.docx

    - /proc目录下的文件和目录有着丰富的含义。例如: - /proc/<pid>:包含特定进程的详细信息,如进程的环境变量、打开的文件等。 - /proc/apm:提供电源管理信息,如电池状态。 - /proc/bus:展示了系统总线信息,...

    查看Linux进程占用的资源.docx

    本文将详细解析如何查看Linux进程占用的资源,主要涉及`top`和`pmap`命令,以及`/proc`目录下的信息。 首先,`top`命令是Linux系统中常用的实时监控系统状态和进程资源的工具。当运行`top`时,它会显示系统的基本...

    android bugreport 分析

    这条命令将生成一个名为bugreport.txt的文件,存储在你当前的工作目录下,其中包含了丰富的系统日志信息。 #### Bugreport的核心组成部分 1. **Dumpstate**:这是bugreport的主干,它包含了系统的内存、CPU、进程...

    操作系统实验三1

    3. 通过/proc文件系统分析进程信息,如`/proc/$PID/cmdline`、`/proc/$PID/stat`和`/proc/$PID/status`,这些文件分别包含了进程的命令行参数、统计信息和状态信息。 4. 以不同用户权限运行进程,比较nice值的设置...

    阿里巴巴Linux运维工程师笔试题

    - **打开文件**:查看`/proc/235/fd`目录下的文件,这些文件即为进程打开的文件。 - **启动参数**:查看`/proc/235/cmdline`文件获取进程启动时的命令行参数。 - **父进程ID**:查看`/proc/235/status`文件中的...

    进程cpu占用率和内存使用大小获取

    在Unix/Linux系统中,可以读取/proc目录下的进程文件,如/proc/<pid>/stat,从中提取CPU时间信息。 接下来,我们探讨如何获取进程的内存使用情况。在Windows系统中,可以使用`GetProcessMemoryInfo`函数获取进程的...

    Linux中获取某个进程的系统调用以及参数(故障排查案例)

    此时,我们可以通过读取`/proc/<PID>/syscall`文件来获取进程当前的系统调用信息。 `/proc/<PID>/syscall`文件列出了进程当前执行的系统调用号以及其参数。例如,在案例中,`/proc/8443/syscall`显示的第一个数字是...

    linux内核实验指导

    - **描述**: 每个进程都有一个对应的目录,如`/proc/1`表示PID为1的进程信息。 - **信息**: 进程目录中包含了进程的状态、打开的文件等详细信息。 **2.1.4 Proc 文件系统的实验程序样例** - **目的**: 通过编写程序...

    2.6内核编译配置选项简介--介绍make_menuconfig中的每个选项含义.

    BSD Process Accounting version 3 file format 选项使用新的第三版文件格式,可以包含每个进程的 PID 和其父进程的 PID,但是不兼容老版本的文件格式。 Export task/process statistics through netlink 选项可以...

    linux基础文档

    - `kill -signal PID`:发送指定信号给进程ID为PID的进程。 - 常见信号及其含义: - `SIGHUP` (1):挂起进程。 - `SIGINT` (2):等同于按下Ctrl+C,用于中断进程。 - `SIGKILL` (9):强制杀死进程。 - `...

    linux-内核编译各个选项的含义

    * BSD Process Accounting version 3 file format:使用新的第三版文件格式,可以包含每个进程的 PID 和其父进程的 PID,但是不兼容老版本的文件格式。 * Export task/process statistics through netlink:通过 ...

    redis config

    - **含义**:指定RDB文件的存储目录。 - **默认值**:`/usr/local/redis/var`。 #### 三、Replication配置 这部分配置涉及主从复制机制的相关设置,但由于提供的文件内容不完整,无法给出具体的解析。通常情况下,...

    APUE读书笔记(Unix高级环境编程)

    - **proc文件系统**:介绍如何利用`/proc`目录下的文件和目录获取系统运行时信息。 #### 第七章 进程环境 - **进程的启动和终止**:`exec`家族函数用于替换当前进程的映像,`exit`和`_exit`函数用于结束进程。 - *...

    linux查看内存和CPU详解.pdf

    缓冲区(buffers)主要用于目录和文件元数据,而缓存(cached)则是用于已打开的文件,这些数据存储在内存中,以便下次访问时能更快地加载。如果系统内存充足,Linux会尽可能地使用内存作为缓存,即使这意味着显示的“已...

    uboott移植实验手册及技术文档

    同时修改 board/fs2410/Makefile文件,增加 nand_read文件 COBJS := fs2410.o nand_read.o flash.o 五、修改 board/fs2410/fs2410.c 文件,加入 NAND Flash 操作 (1)加入Nand Flash的初始化函数 在文件的最后...

    UNIX系统的进程系统分析.ppt

    user结构主要包括以下各项:指向proc结构的指针、真正用户标识符(real user ID)、有效用户标识符(effective user ID)、用户文件描述符表、当前目录和当前根、计时器、内部I/O参数、限制值、系统调用信息等。...

    理解Linux进程的内存使用量

    为了更全面地了解内存使用,可以使用`pmap`或`/proc/pid/status`查看进程的内存映射细节,或者使用`top`或`htop`命令,它们提供了更友好的内存使用视图,包括缓存和缓冲区的使用。 在优化内存使用时,除了关注单个...

    操作系统复习题

    - 目录文件 #### 52. 文件系统有哪些功能? - **文件系统功能**: - 文件存储 - 文件保护 - 目录管理 - 文件共享 - 文件操作 #### 53. 什么是文件的逻辑结构? - **逻辑结构定义**:文件的逻辑结构是指从...

    一个优秀的ASP.NET(及WinForm)开发人员需要知道

    Assembly.LoadFrom 和 Assembly.LoadFile 都可以加载程序集,但前者支持从文件路径或 UNC 路径加载,而后者只能从文件路径加载。 **2.9 程序集完全限定名称的含义** 程序集的完全限定名称包括程序集名称、版本号、...

Global site tag (gtag.js) - Google Analytics