深入理解linux系统任务管理器top

深入理解linux系统任务管理器top

第一行,很容易看出来了吧
简单说一下load average: * * *
第一个数是:平均5分钟以内有多少进程在竞争CPU
第二个数是:平均10分钟以内有多少进程在竞争CPU
第三个数是:平均15分钟以内有多少进程在竞争CPU

第二行:
Tasks: *
多少个任务数,如果经常在150个以上,需要考虑一下, 系统是不是出问题了。
正常在80-110个之间,都能接受。
running   多少个正在运行的进行。这是一个4核的CPU,所以同时可以1个以上的Running。
Sleeping 同Running。 
Running+Sleeping=Tasks
?        Stop 见名思意吧。
?        zombie 僵尸进程的数量,如果有大量zombie,就需要考虑一下是不是系统那方面有出现了瓶劲,致使进程不能正常结常。或是 应用程序出来了什么问题。可以慢慢查一下
通常从IO方面查一下,另外也要注意发生zombie进程的是什么进程在去分析问题出来在那里了,如果是系统进程,最好能测一下lib方面的问题,我曾遇到过slackware系统进程出现zombie后来重新编译了相应的lib做了一个光盘重装后问题解决了。
第三行:
CPU:
Us: 用户程序占用CPU时间百分比。
用户程序占用CPU的值大于50%或经常大于70%时,应该给于重示,分析问出在那里,能不能给缓存或是别的方法处理。
Sy:系统进程占用CPU时间百分比
如果该值较高,说明内核有可能存在病态问题,需要进一步分析问题出在那里。从内核编译方面着手分析一下。
Ni: Nice调整占用CPU时间百分比
Id: 系统空闲CPU时间百分比
Wa: IO等待消耗的CPU时间百分比

第四行及第五行
也是free 的输出 结果

Mem:内存总数,多少被使用,多少空闲,多少做了buffer
Swap: 多少Swap,多少被使用,多少空闲,多少做了cached
这里如果Swap被使用了较多,但CPU较空闲,可以考虑禁用swap,让CPU也去干干活,不要让全部的活让内存干了就行了。
第六行:

PID        进程的ID
USER        进程的属主
PR        进程优级
NI        Nice的级别
VIRT        Virtual Image 单位Kb
在内存的虚拟镜象占用多少内存
RES        Resident size (kb)
在物理内存中占用的内存大小
SHR        Shared Mem size单位Kb
进程共享内存大小
S = State        State of the process: S=sleeping, R=running, T=stopped or traced,
D=interruptible sleep, Z=zombie. The process state is discussed further in
1.1.7, “Process state”.
多注意一下这个,有很多BT的面试希望问这个
%CPU        CPU占用的百分数
%MEM        Mem占用的百分数
TIME+        占用CPU的时间
COMMAND        运行的程序

在Top中一些有用的建:
t        把CPU那例关闭或打开
m        把MEM那例关闭或打开
A        按不同的方式显示Top的格式,这个很容易找到占用资源的进程,,我也最喜欢这个
f        如果对Top的显示不满意,就按f进入配置吧,象Windows的任管理器一样好配置
o        用f配置完了,记着按o应用
r        重设进程的nice级别.等于renice
k        Kill 掉相应的进程.等于kill
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux下使用Qt开发系统任务管理器,可以实现对系统进程的查看和管理。首先,通过Qt的GUI界面创建一个任务管理器的窗口,可以使用QMainWindow作为窗口的基类,然后在窗口中添加进程列表、状态栏等控件。 接下来,通过调用Linux系统提供的相关接口,获取系统中运行的进程信息,并将其显示在进程列表中。可以使用QTableView作为进程列表的控件,并使用QStandardItemModel来存储进程信息。获取进程信息的方法有多种,可以使用类似于ps命令的方式,通过读取/proc目录下的进程信息文件来获取进程的PID、进程名、状态、内存占用等信息。 在进程列表中,可以为每个进程添加控制按钮,如结束进程、暂停进程等。当用户点击这些按钮时,可以通过调用Linux系统的相关接口,对选中的进程进行相应的操作。例如,可以使用kill命令结束进程,使用kill -STOP命令暂停进程。 在进程列表上方,可以添加一些过滤选项,如显示所有进程、只显示用户进程等。用户可以根据自己的需求,选择不同的过滤选项来查看系统中的进程。 在状态栏中,可以显示系统当前的CPU占用和内存占用情况。可以通过读取/proc/stat文件获取CPU的利用率,通过读取/proc/meminfo文件获取内存的使用情况,然后将这些信息显示在状态栏中。 最后,为了增加用户体验,可以添加一些功能,如自动刷新进程列表、进程排序等。可以使用定时器来实现自动刷新功能,使用QSortFilterProxyModel来实现进程排序功能。 总之,通过Qt的GUI界面和Linux系统的相关接口,可以实现一个功能完善的系统任务管理器,方便用户对系统中的进程进行查看和管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值