Linux下进程的内存相关信息的查看
进程的内存问题一直都是个比较复杂的问题,最近在研究进程的内存优化,大家都知道,Linux下进程的内存信息主要在/proc/下,但是有时候会遇到这么一个问题,就是对于你运行起的进程,无法对应上是/proc下的哪个pid。下面将流程式介绍一下怎么查看Linux下的进程的内存信息。
首先,让我们新建一个进程:
保存为xxx.c文件,执行gcc -o xxx xxx.c 生成执行文件xxx,运行执行文件: ./xxx 。效果如下:
保留该窗口,该进程便处于运行之中,接下来另开一个窗口查看该进程的内存信息。
执行 到/proc目录下:
可看到系统运行的各种进程的内存信息都在这。但你仔细查看会发现没有getpid的进程,因为在/proc/下进程不同进程路径都是以pid为目录的,那么问题来了,我们怎么去确定我们的getpid的进程目录呢(确认进程的PID号)?
执行:pgrep - l xxx .其中 xxx 是关键字,执行效果如下:
进入到2641下,可见该进程的所有内存信息都能在这个看到:
这里我们以statm和maps为例,查看进程内存信息:
对于内存不同文件下的含义,可通过网络查看了解。
进程的内存问题一直都是个比较复杂的问题,最近在研究进程的内存优化,大家都知道,Linux下进程的内存信息主要在/proc/下,但是有时候会遇到这么一个问题,就是对于你运行起的进程,无法对应上是/proc下的哪个pid。下面将流程式介绍一下怎么查看Linux下的进程的内存信息。
首先,让我们新建一个进程:
#include <stdio.h>
int main(){
char string[] = "welcome to GetPid World";
printf("%s\n",string);
pause();
}
保存为xxx.c文件,执行gcc -o xxx xxx.c 生成执行文件xxx,运行执行文件: ./xxx 。效果如下:
保留该窗口,该进程便处于运行之中,接下来另开一个窗口查看该进程的内存信息。
执行 到/proc目录下:
可看到系统运行的各种进程的内存信息都在这。但你仔细查看会发现没有getpid的进程,因为在/proc/下进程不同进程路径都是以pid为目录的,那么问题来了,我们怎么去确定我们的getpid的进程目录呢(确认进程的PID号)?
执行:pgrep - l xxx .其中 xxx 是关键字,执行效果如下:
进入到2641下,可见该进程的所有内存信息都能在这个看到:
这里我们以statm和maps为例,查看进程内存信息:
对于内存不同文件下的含义,可通过网络查看了解。