Linux下进程管理
来源:互联网 发布:国外源码分享网站 编辑:程序博客网 时间:2024/06/05 05:03
Linux下ps与top两个与进程管理相关的命令区别?
ps 看到的是命令执行瞬间的进程信息,而 top可以持续的监视 ps只是查看进程,而top还可以监视系统性能,如平均负载,cpu和内存的消耗 另外top还可以操作进程,如改变优先级(命令r)和关闭进程(命令k)
ps 详解一、使用ps查看进程的占用
ps -aux
查看进程信息时,第三列就是CPU占用。
[root@localhost utx86]# ps -aux | grep my_process
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
root 14415 3.4 0.9 37436 20328 pts/12 SL+ 14:18 0:05 ./my_process
root 14464 0.0 0.0 3852 572 pts/3 S+ 14:20 0:00 grep my_process
每一列含义如下
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
即my_process进程当前占用cpu 3.4%, 内存0.9%
top详解
二、top动态查看系统负荷
top -n 1
显示后退出
[root@localhost utx86]# top -n 1
top - 14:23:20 up 5:14, 14 users, load average: 0.00, 0.04, 0.01
Tasks: 183 total, 1 running, 181 sleeping, 1 stopped, 0 zombie
Cpu(s): 1.8%us, 1.4%sy, 0.0%ni, 95.8%id, 0.7%wa, 0.1%hi, 0.2%si, 0.0%st
Mem: 2066240k total, 1507316k used, 558924k free, 190472k buffers
Swap: 2031608k total, 88k used, 2031520k free, 1087184k cached
1、获取cpu占用情况
[root@localhost utx86]# top -n 1 |grep Cpu
Cpu(s): 1.9%us, 1.3%sy, 0.0%ni, 95.9%id, 0.6%wa, 0.1%hi, 0.2%si, 0.0%st
解释:1.9%us是用户占用cpu情况
1.3%sy,是系统占用cpu情况
得到具体列的值:
[root@localhost utx86]# top -n 1 |grep Cpu | cut -d "," -f 1 | cut -d ":" -f 2
1.9%us
[root@localhost utx86]# top -n 1 |grep Cpu | cut -d "," -f 2
1.3%sy
2、获得内存占用情况
[root@localhost utx86]# top -n 1 |grep Mem
Mem: 2066240k total, 1515784k used, 550456k free, 195336k buffers
获得内存情况指定列
[root@localhost c++_zp]# top -n 1 |grep Mem | cut -d "," -f 1 | cut -d ":" -f 2
2066240k total
[root@localhost c++_zp]# top -n 1 |grep Mem | cut -d "," -f 2
1585676k used
三、编程实现
现在可以通过程序将cpu使用率、内存使用情况保存到文件中
// test.cpp
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
system("top -n 1 |grep Cpu | cut -d \",\" -f 1 | cut -d \":\" -f 2 >cpu.txt");
system("top -n 1 |grep Cpu | cut -d \",\" -f 2 >>cpu.txt");
system("top -n 1 |grep Mem | cut -d \",\" -f 1 | cut -d \":\" -f 2 >>cpu.txt");
system("top -n 1 |grep Mem | cut -d \",\" -f 2 >>cpu.txt");
return 0;
}
编译、运行:
[root@localhost study]# g++ test.cpp
[root@localhost study]# ./a.out
[root@localhost study]# cat cpu.txt
2.1%us
1.5%sy
2066240k total
1619784k used
可见,信息已经保存到文件中了。
进程优先级更改(top / nice / renice)
- Linux下进程管理
- Linux下进程管理
- Linux下进程管理
- Linux下进程管理
- Linux下进程管理
- linux下进程管理
- Linux下管理java进程
- linux下的进程管理
- Linux下的进程管理
- Linux下进程管理一
- Linux下的进程管理
- linux下的进程管理
- Linux下进程管理与控制
- 如何在Linux下管理Java进程
- linux或mac下进程管理
- Linux进程管理下的PCB(task_struct)
- 小何讲进程: Linux下进程的管理
- Unix/Linux C++应用开发-Linux下进程管理
- 配置QT、vs2010,不用编译QT
- 12-11-19
- stc89c2单片机测频
- 12-11-21
- 快速批量插入setLocalInfileInputStream的用法
- Linux下进程管理
- cocos2d-x 2.0.2与1.x的不同之处 沈大海cocos2d-x教程13
- stub and mock difference
- Perl内置特殊变量
- 一个操作系统的实现读书笔记
- 一个类中静态容器对象的初始化问题
- 局域网内访问win7上的EasyPHP Apache服务
- 关于C++中的前置声明
- IOS开发值日期计算