测试环境:Ubuntu14.04
1. 获取进程ID号
ps -aux | grep your_process_name
例如:
xxx@xxx:~$ ps -e |grep Midlet|awk '{print $1}'
9356
|
2. 查看进程相关信息
2.1 查看进程树信息:
xxx@xxx:~$ pstree -p 9356
runMidlet(9356)───{runMidlet}(9357)
|
2.2 查看进程打开的文件:
- xxx@xxx:~$ lsof -p 9356
- lsof: WARNING: can't stat() ext4 file system /var/lib/docker/aufs
- Output information may be incomplete.
- COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
- runMidlet 9356 lubaoquan cwd DIR 8,5 4096 21096156 /home/lubaoquan/java/phoneme/temp/bin/i386
- runMidlet 9356 lubaoquan rtd DIR 8,1 4096 2 /
- runMidlet 9356 lubaoquan txt REG 8,5 2033266 20979964 /home/lubaoquan/java/phoneme/temp/bin/i386/runMidlet
- runMidlet 9356 lubaoquan mem REG 8,1 1754876 3682281 /lib/i386-linux-gnu/libc-2.19.so
- runMidlet 9356 lubaoquan mem REG 8,1 114372 3670186 /lib/i386-linux-gnu/libgcc_s.so.1
- runMidlet 9356 lubaoquan mem REG 8,1 134614 3682267 /lib/i386-linux-gnu/libpthread-2.19.so
- runMidlet 9356 lubaoquan DEL REG 0,5 3375128 /SYSV62010009
- runMidlet 9356 lubaoquan mem REG 8,1 134380 3682268 /lib/i386-linux-gnu/ld-2.19.so
- runMidlet 9356 lubaoquan 0u CHR 136,3 0t0 6 /dev/pts/3
- runMidlet 9356 lubaoquan 1u CHR 136,3 0t0 6 /dev/pts/3
- runMidlet 9356 lubaoquan 2u CHR 136,3 0t0 6 /dev/pts/3
- runMidlet 9356 lubaoquan 3r FIFO 8,1 0t0 1441801 /tmp/.qtvfb_mouse-0
- runMidlet 9356 lubaoquan 4r FIFO 8,1 0t0 1441800 /tmp/.qtvfb_keyboard-0
|
2.3 查看进程系统调用相关信息:
- xxx@xxx:~$ sudo strace -p 9356</p>Process 9356 attached
- [ Process PID=9356 runs in 32 bit mode. ]
- select(5, [3 4], [], [], {0, 244888}) = 0 (Timeout)
- select(5, [3 4], [], [], {0, 250000}) = 0 (Timeout)
- select(5, [3 4], [], [], {0, 250000}) = 0 (Timeout)
- select(5, [3 4], [], [], {0, 250000}) = 0 (Timeout)
- select(5, [3 4], [], [], {0, 250000}) = 0 (Timeout)
- select(5, [3 4], [], [], {0, 250000}) = 0 (Timeout)
|
2.4 统计各系统调用耗费的时间:
- xxx@xxx:~$ sudo strace -p 9356 -c
- Process 9356 attached
- [ Process PID=9356 runs in 32 bit mode. ]
- System call usage summary for 32 bit mode:
- % time seconds usecs/call calls errors syscall
- ------ ----------- ----------- --------- --------- ----------------
- 98.85 0.030703 24 1275 select
- 1.01 0.000314 0 8498 gettimeofday
- 0.14 0.000042 0 1965 489 read
- 0.00 0.000000 0 27 write
- 0.00 0.000000 0 24 20 open
- 0.00 0.000000 0 4 close
- 0.00 0.000000 0 13 lseek
- 0.00 0.000000 0 2 munmap
- 0.00 0.000000 0 751 nanosleep
- 0.00 0.000000 0 8 2 stat64
- 0.00 0.000000 0 3 fstat64
- 0.00 0.000000 0 17 futex
- ------ ----------- ----------- --------- --------- ----------------
- 100.00 0.031059 12587 511 total
|
2.5 ltrace统计信息
- xxx@xxxt:~$ ltrace -p 12394
- Cannot attach to pid 12394: Operation not permitted
- Could not attach to process. If your uid matches the uid of the target
- process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
- again as the root user. For more details, see /etc/sysctl.d/10-ptrace.conf
- lubaoquan@zx8200-Lenovo-Product:~$ sudo ltrace -p 12394
- __fdelt_chk(4, 0xfff120d4, 0xfff12154, 0xfff121d4) = 0
- __fdelt_chk(3, 0xfff120d4, 0xfff12154, 0xfff121d4) = 0
- __divdi3(250, 0, 1000, 0) = 0
- __moddi3(250, 0, 1000, 0) = 250
- select(5, 0xfff120d4, 0xfff12154, 0xfff121d4) = 0
- __fdelt_chk(4, 0xfff120d4, 0xfff12154, 0xfff121d4) = 0
- __fdelt_chk(3, 0xfff120d4, 0xfff12154, 0xfff121d4) = 0
- __divdi3(250, 0, 1000, 0) = 0
- __moddi3(250, 0, 1000, 0) = 250
- select(5, 0xfff120d4, 0xfff12154, 0xfff121d4) = 0
- __fdelt_chk(4, 0xfff120d4, 0xfff12154, 0xfff121d4) = 0
|
2.6 pidstat的详细解释
-r Report page faults andmemory utilization.
When reporting statistics for individualtasks, the following values may be displayed:
UID
The real user identification number of the task being monitored.
USER
The name of the real user owning the task being monitored.
PID
The identification number of the task being monitored.
minflt/s
Total number of minor faults the task has made per second, those whichhave not required loading a memory page from disk.
majflt/s
Total number of major faults the task has made per second, those whichhave required loading a memory page from disk.
VSZ
Virtual Size: The virtual memory usage of entire task in kilobytes.
RSS
Resident Set Size: The non-swapped physical memory used by the task inkilobytes.
%MEM
The tasks's currently used share of available physical memory.
Command
The command name of the task.
- lubaoquan@xxx:~$ pidstat -r -p 12691 1
- Linux 4.4.0-46-generic (zx8200-Lenovo-Product) 11/11/2016 _x86_64_ (4 CPU)
- 09:55:51 AM UID PID minflt/s majflt/s VSZ RSS %MEM Command
- 09:55:52 AM 1003 12691 0.00 0.00 17060 7216 0.12 runMidlet
- 09:55:53 AM 1003 12691 0.00 0.00 17060 7216 0.12 runMidlet
- 09:55:54 AM 1003 12691 0.00 0.00 17060 7216 0.12 runMidlet
- 09:55:55 AM 1003 12691 0.00 0.00 17060 7216 0.12 runMidlet
- 09:55:56 AM 1003 12691 0.00 0.00 17060 7216 0.12 runMidlet
- 09:55:57 AM 1003 12691 0.00 0.00 17060 7216 0.12 runMidlet
- 09:55:58 AM 1003 12691 0.00 0.00 17060 7216 0.12 runMidlet
- 09:55:59 AM 1003 12691 0.00 0.00 17060 7216 0.12 runMidlet
- 09:56:00 AM 1003 12691 0.00 0.00 17060 7216 0.12 runMidlet
|
显示stack使用情况:
-s Report stack utilization.
- Linux 4.4.0-46-generic (zx8200-Lenovo-Product) 11/11/2016 _x86_64_ (4 CPU)
- 10:15:25 AM UID PID StkSize StkRef Command
- 10:15:26 AM 1003 12691 136 20 runMidlet
- 10:15:27 AM 1003 12691 136 20 runMidlet
- 10:15:28 AM 1003 12691 136 20 runMidlet
|
显示IO使用情况:
-d Report I/O statistics (kernels 2.6.20 and later only).
- root@xxx:/proc/12691# pidstat -d -p 12691 1
- Linux 4.4.0-46-generic (zx8200-Lenovo-Product) 11/11/2016 _x86_64_ (4 CPU)
- 10:15:50 AM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
- 10:15:51 AM 1003 12691 0.00 0.00 0.00 runMidlet
- 10:15:52 AM 1003 12691 0.00 0.00 0.00 runMidlet
|
显示CPU使用情况:
-u Report CPU utilization.
背景是运行数独游戏。
- root@xxx:/proc/12691# pidstat -u -p 12691 1
- Linux 4.4.0-46-generic (zx8200-Lenovo-Product) 11/11/2016 _x86_64_ (4 CPU)
- 10:23:30 AM UID PID %usr %system %guest %CPU CPU Command
- 10:23:31 AM 1003 12691 0.00 2.00 0.00 2.00 3 runMidlet
- 10:23:32 AM 1003 12691 1.00 1.00 0.00 2.00 1 runMidlet
- 10:23:33 AM 1003 12691 0.00 2.00 0.00 2.00 0 runMidlet
- 10:23:34 AM 1003 12691 1.00 1.00 0.00 2.00 2 runMidlet
- 10:23:35 AM 1003 12691 1.00 2.00 0.00 3.00 3 runMidlet
|
2.7 ps显示内存
- root@xxxt:/proc/12691# ps -p 12691 -u
- USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
- lubaoqu+ 12691 0.0 0.1 17060 8180 pts/3 Sl 09:50 0:00 ./runMidlet internal com.sun.midp.appmanager.MVMManager
|
使用ps更细致的显示内存占用情况:
ps -p 2395 -eo pid,comm,args,class,vsz,rss,sz | grep Midlet
vsz - virtual memory size of the process in KiB. Device mappings are currently excluded; this is subject to change.
rsz - resident set size, the non-swapped physical memory that a task has used(in killobytes).
sz - size in physical pages of the core image of the process. This includes text, data, and stack space. Device mappings are currently excluded; this is subject to change.
- xxx@xxx:~/java/phoneme/temp/bin/i386$ ps -eo pid,comm,args,class,vsz,rss,sz | grep Midlet
- 8952 runMidlet ./runMidlet internal com.su TS 17060 7360 4265
|
2.8 procmem
- xxx@xxx:~/java/phoneme/temp/bin/i386$ sudo procmem -p 8952
- Vss Rss Pss Uss ShCl ShDi PrCl PrDi Name
- ------- ------- ------- ------- ------- ------- ------- -------
- 1748K 1600K 1600K 1600K 0K 0K 1600K 0K /home/lubaoquan/java/phoneme/temp/bin/i386/runMidlet
- 12552K 1540K 1540K 1540K 0K 0K 3584K 0K
- 1696K 1200K 618K 36K 1164K 0K 36K 0K /lib/i386-linux-gnu/libc-2.19.so
- 152K 144K 144K 144K 0K 0K 144K 0K
- 132K 100K 100K 100K 0K 0K 100K 0K [heap]
- 152K 152K 76K 0K 0K 152K 0K 0K /SYSV6201000e
- 128K 124K 66K 8K 116K 0K 8K 0K /lib/i386-linux-gnu/ld-2.19.so
- 56K 56K 56K 56K 0K 0K 56K 0K
- 112K 96K 48K 0K 96K 0K 0K 0K /lib/i386-linux-gnu/libgcc_s.so.1
- 96K 88K 44K 0K 88K 0K 0K 0K /lib/i386-linux-gnu/libpthread-2.19.so
- 132K 20K 20K 20K 0K 0K 20K 0K [stack]
- 16K 16K 16K 16K 0K 0K 16K 0K
- 8K 8K 8K 8K 0K 0K 8K 0K /lib/i386-linux-gnu/libc-2.19.so
- 12K 8K 8K 8K 0K 0K 8K 0K
- 8K 8K 8K 8K 0K 0K 8K 0K /home/lubaoquan/java/phoneme/temp/bin/i386/runMidlet
- 4K 4K 4K 4K 0K 0K 4K 0K /home/lubaoquan/java/phoneme/temp/bin/i386/runMidlet
- 4K 4K 4K 4K 0K 0K 4K 0K /lib/i386-linux-gnu/libc-2.19.so
- 4K 4K 4K 4K 0K 0K 4K 0K /lib/i386-linux-gnu/libgcc_s.so.1
- 4K 4K 4K 4K 0K 0K 4K 0K /lib/i386-linux-gnu/libpthread-2.19.so
- 4K 4K 4K 4K 0K 0K 4K 0K /lib/i386-linux-gnu/ld-2.19.so
- 4K 4K 4K 4K 0K 0K 4K 0K
- 4K 4K 4K 4K 0K 0K 4K 0K /lib/i386-linux-gnu/libpthread-2.19.so
- 4K 4K 4K 4K 0K 0K 4K 0K /lib/i386-linux-gnu/ld-2.19.so
- 8K 4K 2K 0K 4K 0K 0K 0K [vdso]
- 4K 0K 0K 0K 0K 0K 0K 0K /lib/i386-linux-gnu/libc-2.19.so
- 4K 0K 0K 0K 0K 0K 0K 0K
- 8K 0K 0K 0K 0K 0K 0K 0K [vvar]
- ------- ------- ------- ------- ------- ------- ------- -------
- 17056K 5196K 4386K 3576K 1468K 152K 5620K 0K TOTAL
|
- linux中使用top获取进程的资源占用信息
在linux中使用top获取进程的资源占用信息: Cpu(s): 1.0%us, 0.0%sy, 0.0%ni, 98.3%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0 ...
- linux查看端口进程占用情况
本文介绍linux如何查看端口被哪个进程占用的方法: 1.lsof -i:端口号 2.netstat -tunlp|grep 端口号 都可以查看指定端口被哪个进程占用的情况 [步骤一]lsof -i ...
- 如何在 Linux 中查看进程占用的端口号【转】
对于 Linux 系统管理员来说,清楚某个服务是否正确地绑定或监听某个端口,是至关重要的.如果你需要处理端口相关的问题,这篇文章可能会对你有用. 端口是 Linux 系统上特定进程之间逻辑连接的标识, ...
- linux下查看进程占用端口和端口占用进程命令
Linux下查看进程占用端口: 查看程序对应进程号:ps –ef|grep 进程名 REDHAT :查看进程号所占用的端口号:netstat –nltp|grep 进程号 ubuntu:查看进程占用端 ...
- linux下查询进程占用的内存方法总结
linux下查询进程占用的内存方法总结,假设现在有一个「php-cgi」的进程 ,进程id为「25282」.现在想要查询该进程占用的内存大小.linux命令行下有很多的工具进行查看,现总结常见的几种方 ...
- linux 下查看进程占用端口和端口号占用进程命令
linux 下查看进程占用端口:(1)查看程序对应的进程号: ps -ef | grep 进程名字 (2)查看进程号所占用的端口号: netstat -nltp | grep 进程号 ubuntu ...
- Linux下实现脚本监测特定进程占用内存情况
Linux系统下,我们可以利用以下命令来获取特定进程的运行情况: cat /proc/$PID/status 其中PID是具体的进程号,这个命令打印出/proc/特定进程/status文件的内容,信息 ...
- Linux中查看进程占用内存的情况【转】
转自:http://hutaow.com/blog/2014/08/28/display-process-memory-in-linux/ Linux中查看某个进程占用内存的情况,执行如下命令即可,将 ...
- pidstat 命令(Linux 进程使用资源情况采样)
pidstat 作用 pidstat 获取服务器指定进程的使用资源信息(包括 CPU.设备IO.内存.线程.任务切换等). 执行一波 [root@wille ~]# pidstat Linux 2.6 ...
随机推荐
- 总结:如何使用redis缓存加索引处理数据库百万级并发
前言:事先说明:在实际应用中这种做法设计需要各位读者自己设计,本文只提供一种思想.准备工作:安装后本地数redis服务器,使用mysql数据库,事先插入1000万条数据,可以参考我之前的文章插入数据, ...
- WPF绑定到集合
什么是集合视图? 集合视图是位于绑定源集合顶部的一层,您可以通过它使用排序.筛选和分组查询来导航和显示源集合,而无需更改基础源集合本身.集合视图还维护着一个指向集合中的当前项的指针.如果源集合实现了 ...
- 阅读微信支付demo收获
1,公司现有系统有很多,存放重要接口的日志分布在不同的库,每个系统都有单独的日志采集表,日志采集模块: ???? 这些日志可以统一放到一个地方,通过一个组件提供出去 ...
- python学习笔记1:python入门
关于版本的选择 按照网上的说法,如果python是为了在工作中使用,选择2.7版本的.这里我选择2.7.9版本的来进行学习: Python是什么? 是一种高级的计算机程序设计语言.应用范围比较广,go ...
- JDBC 详解(转载)
原文链接:http://blog.csdn.net/cai_xingyun/article/details/41482835 什么是JDBC? Java语言访问数据库的一种规范,是一套API JDBC ...
- 征途 bzoj 4518
征途(1s 256MB)journey [问题描述] Pine开始了从S地到T地的征途. 从S地到T地的路可以划分成n段,相邻两段路的分界点设有休息站. Pine计划用m天到达T地.除第m天外,每一天 ...
- 《分布式事务解决之道》沙龙ppt共享
大型分布式系统往往由很多“微服务”组成,而不同的微服务往往又连接着不同的数据库,在看似常用的功能背后,可能又需要横跨不同的“微服务”和“数据库”才能实现.那么如何才能保证系统事务的一致性呢?这也同时是 ...
- 也许你需要点实用的-Web前端笔试题
之前发的一篇博客里没有附上答案,现在有空整理了下发出来,希望能帮助到正在找工作的你,还是那句话:技术只有自己真正理解了才是自己的东西,共勉. Web前端笔试题 Html+css 1.对WEB标准以及w ...
- 商业智能BI推动制造业智能化转型
制造业是我国国民经济的支柱产业,是我国经济增长的主导部门和经济转型的基础,如今我国制造业面临技术工艺不精.缺乏市场意识.商贸流通环节多.物流成本大.仓储效率低下等问题,正处在转型的特殊时期. 内忧: ...
- 客户关系管理系统-CRM源码
QQ:2112326142 邮箱:jxsupport@qq.com 本公司开发的CRM源代码系统一份,附源代码,本公司产品唯一销售客服QQ号:2112326142 请联系此QQ号,以免给您的工作 ...