谷动谷力

 找回密码
 立即注册
查看: 2469|回复: 0
打印 上一主题 下一主题
收起左侧

常用的Linux性能监测命令行工具--HTOP命令详解

[复制链接]
跳转到指定楼层
楼主
发表于 2018-11-5 23:54:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sunsili 于 2018-11-6 00:10 编辑

常用的Linux性能监测命令行工具--HTOP命令详解


上次笔者碰到网站系统数据库老崩溃问题,高手用top工具找到了问题。笔者也是爱学习的人啊,不断翻阅资料,了解到我们的网站系统是高版本,系统自带比top还牛叉的Linux性能监测工具,就是htop,可以显示系统的资源使用情况以及进程状态。相比于top,htop显示的信息更加直观,还可以鼠标操作。我们的网站系统是新版的linux-Centos6.0, 自带htop,不带top. 但旧版linux不带htop, 想用htop怎么办呢?方法很简单,安装啊。

Debian/Ubuntu系统下安装:
  1. sudo apt install htop
复制代码

RedHat/CnetOS系统下安装:
yum install htop

更多信息可以查看htop的帮助文档:
  1. man htop
复制代码

启动htop:
  1. htop
复制代码

在htop显示界面的最下方有”Help”, “Setup”, “Search”等选项,可以通过对应的快捷按键”F1”, “F2”, “F3”或者用鼠标点击这些选项来使用相应的功能。


我们看到这个,是不是比top好看多了
我们开始详细子解一下htop吧

可以看到总共分四个区域:

  • 第一区域:CPU、内存、Swap的使用情况;
  • 第二区域:任务、线程、平均负载及系统运行时间的信息。平均负载部分提供了三个数字,这仅仅表示的是过去的5分钟、10分钟和15分钟系统的平均负载而已,在单核的系统中平均负载为1表示的是百分之百的 CPU 利用率。最后,运行时间 (uptime)标示的数字是从系统启动起到当前的运行总时间。
  • 第三区域:当前系统中的所有进程。各列说明:
    PID:进程标志号,是非零正整数
    USER:进程所有者的用户名
    PR:进程的优先级别
    NI:进程的优先级别数值
    VIRT:进程占用的虚拟内存值
    RES:进程占用的物理内存值
    SHR:进程使用的共享内存值
    S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
    %CPU:该进程占用的CPU使用率
    %MEM:该进程占用的物理内存和总内存的百分比
    TIME+:该进程启动后占用的总的CPU时间
    COMMAND:进程启动的启动命令名称
  • 第四区域:当前界面中F1-F10功能键中定义的快捷功能。即 底部菜单栏。


交互命令用上档键shift。常用命令,shift+m 按照内存大小排序。shift+h 收缩线程。q 退出
下面是 F1~F10 的功能和对应的字母快捷键。
Shortcut Key
Function Key
Description
中文说明
h, ?
F1
Invoke htop Help
查看htop使用说明
S
F2
Htop Setup Menu
htop 设定
/
F3
Search for a Process
搜索进程
\
F4
Incremental process filtering
增量进程过滤器
t
F5
Tree View
显示树形结构
<, >
F6
Sort by a column
选择排序方式
[
F7
Nice - (change priority)
可减少nice值,这样就可以提高对应进程的优先级
F8
Nice + (change priority)
可增加nice值,这样就可以降低对应进程的优先级
k
F9
Kill a Process
可对进程传递信号
q
F10
Quit htop
结束htop
命令行选项(COMMAND-LINE OPTIONS)
-C --no-color        使用一个单色的配色方案(设置界面为无颜色)
-d --delay=DELAY     设置延迟更新时间,单位秒(设置刷新时间,单位为秒)
-h --help           显示htop 命令帮助信息
-u --user=USERNAME    只显示一个给定的用户的过程(显示指定用户的进程)
-p --pid=PID,PID…       只显示给定的PIDs
-s --sort-key COLUMN     依此列来排序(以指定的列排序)
-v –version          显示版本信息
交互式命令(INTERACTIVE COMMANDS)
上下键或PgUP, PgDn 选定想要的进程,左右键或Home, End 移动字段,当然也可以直接用鼠标选定进程;
Space    标记/取消标记一个进程。命令可以作用于多个进程,例如 "kill",将应用于所有已标记的进程
U     取消所有选中的进程
s     选择某一进程,按s:用strace追踪进程的系统调用。(s:显示光标所在进程执行的系统调用;)
l      显示进程打开的文件: 如果安装了lsof,按此键可以显示进程所打开的文件
I     倒转排序顺序,如果排序是正序的,则反转成倒序的,反之亦然
+, -    When in tree view mode, expand or collapse subtree. When a subtree is collapsed a "+" sign shows to the left of the process name.
a (在有多处理器的机器上)    设置 CPU affinity: 标记一个进程允许使用哪些CPU
u    显示特定用户进程
M    按照内存使用百分比排序,对应MEM%列;
P     按照CPU使用百分比排序,对应CPU%列;
T     按照进程运行的时间排序,对应TIME+列;
F    跟踪进程: 如果排序顺序引起选定的进程在列表上到处移动,让选定条跟随该进程。这对监视一个进程非常有用:通过这种方式,你可以让一个进程在屏幕上一直可见。使用方向键会停止该功能。
K    显示/隐藏内核线程
H    显示/隐藏用户线程
#    快速定位光标到PID所指定的进程上。
Ctrl-L    刷新
Numbers    PID 查找: 输入PID,光标将移动到相应的进程上




htop 使用

显示自带帮助:鼠标点击Help或者按F1 显示自带帮助

htop 设定:鼠标点击Setup或者按下F2 之后进入htop 设定的页面。只需使用箭头键选择和更改特定的设置。

Setup 选项下的:
1.Meters
设定顶端的显示信息,分为左右两侧,Left column 表示左侧的显示的信息,Right column表示右侧显示的信息,如果要新加选项,可以选择Available meters添加,F5新增到上方左侧,F6新增到上方右侧。Left column和Right column下面的选项,可以选定信息的显示方式,有LED、Bar(进度条)、Text(文本模式),可以根据个人喜好进行设置
2. Display options
选择要显示的内容,按空格 x表示显示,选择完后,按F10保存
3.Colors
设定界面以什么颜色来显示,个人认为用处不大,各人喜好不同
4.Colums
作用是增加或取消要显示的各项内容,选择后F7(向上移动)、F8(向下移动)、F9(取消显示、F10(保存更改))此处增加了PPID、PGRP,根据各人需求,显示那些信息。


Meters 页面设定了顶端的一些信息显示,顶端的显示又分为左右两侧,到底能显示些什么可以在最右侧那栏新增,要新增到上方左侧(F5)或是右侧(F6)都可以,这就是个人设定的范围了。这里多加了一个时钟。


我们也可以自定义进程区域中的显示内容:


搜索进程:鼠标点击Search 或者按下F3 或者输入"/", 输入进程名进行搜索,例如搜索ssh

过滤器:按下F4,进入过滤器,相当于关键字搜索,不区分大小写,例如过滤dev。

search和filter的区别:search会将光标定位到符合条件的进程上,通过F3键进行逐个查找;而filter会直接将符合条件的进程筛选出来。search和filter都使用ESC键来取消功能。

显示树形结构:输入"t"或按下F5,显示树形结构,意思跟pstree 差不多,能看到所有程序树状执行的结构,这对于系统管理来说相当方便,理清程序是如何产生的,当然树状结构的浏览也可以依照其他数据来排序。退出树状视图模式,请再一次按下 F5 键。

选择排序方式:按下F6 就可以选择依照什么来排序,最常排序的内容就是cpu 和memory 吧!

F7、F8分别对应nice-和nice+,F7表示减小nice值(增大优先级),F8增大nice值(减小优先级),选择某一进程,按F7或F8来增大或减小nice值,nice值范围为-20-19

F9对应kill给进程发信号,选好信号回车就OK了( F9:杀掉指定进程)。


选择某一进程按F9即可杀死此进程。如你所见,窗口的左边部分列出的是所有可用的信号,右边部分列出的是进程。只要选中信号,并选择一个进程,然后按下 enter 键,选中的信号就会发送到此进程。

F10:退出htop。
空格键:用于标记选中的进程,用于实现对多个进程同时操作;要标注某个进程条目,需要做的就是选中此条目,然后按下‘空格’键。



显示某个用户的进程,在左侧选择用户:输入"u",在左侧选择用户

Alias top:也许你用惯了top,我们也可以用top来打开htop。



编辑/root/.bashrc文件,添加如下代码:




  1. if [ -f /usr/local/bin/htop ]; then
  2.     alias top=’/usr/local/bin/htop’
  3. fi
  4. source /root/.bashrc
复制代码



常用的交互命令:
1) space 标记一个进程(类似windows按着Ctrl多选一样)
2) U 取消所有标记;
3) l 显示进程打来的文件;
4) u 显示特定用户;
5) M 按照内存排序;
6) P 按照CPU排序;
7) T 按在线时长排序;
8) ctrl + L 刷新;
9) 直接输入数字,查找对应的PID进程;




命令行选项

除了上面介绍的一些热键,htop 还提供了很有用的命令行选项。下面是其中一部分:
-s 选项 : 按指定的列排序。例如,htop -s PID 命令会按 PID 列的大小排序来显示。
-u 选项 : 显示指定的用户的进程信息列表。例如,htop -u himanshu 命令会只显示出用户名为 himanshu 的相关进程。
-d 选项 : 设置刷新的延迟时间。例如,htop -d 100 命令会使输出在1秒后才会刷新(参数 -d 的单位是10微秒)。



******原创文章转载请注明出处******

+10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-12-27 20:35 , Processed in 0.095908 second(s), 36 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表