linux下如何获取某一进程占用的物理内存和虚拟内存

首先,ps -A查看你所查看进程的进程号

ps -A

加入进程号为pid

那么使用如下脚本,可以打印该进程使用的虚拟内存和物理内存:

root@Storage:/mnt/mtd# cat rss.sh 
#!/bin/sh

while true 
do 
 cat /proc/pid/stat | awk -F" " '{print "virt:"$23}'
 cat /proc/pid/stat | awk -F" " '{print "rss:"$24}'
 sleep 1
done

时间: 2024-10-13 03:43:47

linux下如何获取某一进程占用的物理内存和虚拟内存的相关文章

windows-关于Linux下V4L2获取设置参数

问题描述 关于Linux下V4L2获取设置参数 问题描述如下: 我在linux下使用V4L2对免驱摄像头进行操作,由于项目需求,需要通过USB线获取 摄像头板的GPI的状态,这个属于扩展功能,摄像头工程师是这么做的:由于我们的摄像头的GAMMA值不会被用到,因此当摄像头板检测到GPI电平有变化时,它就将 GAMMA对应的寄存器的值设置成另外一个值,然后我通过V4L2的函数ioctl,参数为VIDIOC_G_GAMMA来获取当前的GAMMA值,但是读不到其变化.问题是,我在windows下又可以读

linux下exec创建一个gcc进程来编译代码,如何判定编译是否成功?

问题描述 linux下exec创建一个gcc进程来编译代码,如何判定编译是否成功? 代码在下面-- 1 #include 2 #include 3 #include 4 #include 5 #include 6 8 char * cmdargv[20] = {0}; 9 int main(void) 10 { 11 pid_t pid; 13 int retval; 16 17 while(1){ 20 if((pid = fork()) < 0){ 21 perror("fork&qu

Linux下列出所有子目录及磁盘占用情况

今天Jenkins(以前叫Hudson)CI服务器突然挂了,排查了半天发现磁盘已经100%,真后悔当初没把磁盘设大 点,其实可以用LVM调整一下,但是心里还是没底,怕把数据都丢失了,决定以后再调整磁盘分配.目前先吧 Jenkins下没用的项目都干掉,可以腾出很多空间. 我们都知道使用du命令可以查看目录,例如查 看/home/kuuyee目录占用磁盘空间大小可以使用下面的命令: 1root@pm-ubuntu:~# du /home/kuuyee -sh               2333M

Linux下C编程:退出进程

#include<stdlib.h> voidexit(int status); intatexit(void (*function)(void)) inton_exit(void (*function)(int,void *),void arg*) voidabort(void) #include<unistd.h> void_exit(int status) #include<assert.h> voidassert(int expression) atexit:在

Linux下C编程:关于进程等待

#include <sys/types.h> #include <stdio.h> #include <sys/wait.h> void check_exit(int status); main() { pid_t pid; int status; if((pid = fork()) < 0) { printf("fork error!!\n"); exit(0); } else if(pid == 0) { printf("chil

Linux下检查及杀掉僵尸进程

1) 检查当前僵尸进程信息 # ps -ef | grep defunct | grep -v grep | wc - l 175 # top | head -2 top - 15:05:54 up 97 days, 23:49,  4 users,  load average: 0.66, 0.45, 0.39 Tasks: 829 total,   1 running, 479 sleeping, 174 stopped, 175 zombie # ps -ef | grep defunct

Linux下自动获取和静态配置IP的方法

  第一步:激活网卡 系统装好后默认的网卡是eth0,用下面的命令将这块网卡激活. 代码如下: # ifconfig eth0 up 第二步:设置网卡进入系统时启动 想要每次开机就可以自动获取IP地址上网,就要设置网络服务在系统启动时也启动.Linux有一点与windows不同的是很多服务默认是停止的,而且你在某次使用该服务时启动这个服务,但是没设置它为默认启动,则下次进入系统这个服务依然是停止的.下面是设置网络服务在系统启动时也启动的方法. 使用chkconfig命令让网络服务在系统启动级别是

Linux下C编程:sigsuspend进程阻塞

int sigsuspend(const sigset_t *sigmask); 此函数用于进程的挂起,sigmask指向一个信号集.当此函数被调用时,sigmask所指向的信号集中的信号将赋值给信号掩码.之后进程挂起.直到进程捕捉到信号,并调用处理函数返回时,函数sigsuspend返回.信号掩码恢复为信号调用前的值,同时将errno设为EINTR.进程结束信号可将其立即停止. #include <stdio.h> #include <signal.h> void checkse

实时获取系统每个进程占用的CPU

本文的目的是为了和大家讨论一个问题,同时给出一个根据进程ID,来返回该进程实时占用的CPU使用率的函数.希望大家在用这个函数的时候别忘记我的问题. 目前计算进程CPU占用率的方法主要有两种,一种是根据时间来计算,另一种根据注册表计算,我使用的是前者.前者方法原理:在一个特定时间段内计算特定进程的总时间和所有进程的总时间,它们的比值就是那个特定进程的确CPU占有率. 我写了一个函数(改写),以进程的ID作为参数,进程CPU占用率作为返回值,实时计算特定进程的CPU占用,测试正确.整个程序如下: 结