htop详解

htop命令使用详解

一、htop 简介

    htop 是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses。与Linux传统的top相比,htop更加人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。

htop相比较top的优势:

  1. 可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。
  2. 在启动上比top 更快。
  3. 杀进程时不需要输入进程号。
  4. htop 支持鼠标选中操作(反应不太快)。
  5. top 已不再维护。

htop下载

htop的作者Hisham Muhammad在github上的项目:https://github.com/hishamhm/htop

二、htop 安装

a. 源码包编译安装

 
?
1
2
3
4
5
6
7
[root@zangfans ~] # tar zxvf htop-1.0.2.tar.gz
[root@zangfans ~] # cd htop-1.0.2
[root@zangfans ~] # yum -y install ncurses-devel
[root@zangfans ~] # yum -y install gcc
[root@zangfans ~] # ./configure
[root@zangfans ~] # make
[root@zangfans ~] # make install

  

 

b. 通过yum安装htop

建一个阿里云yum仓库直接安装

 
?
1
2
3
4
5
6
7
8
9
10
搭建aliyun仓库
[root@zangfans ~] # cd /etc/yum.repos.d
[root@zangfans ~] # vim zf.repo
[EPEL]
name=aliyun
baseurl=https: //mirrors .aliyun.com /centos/6/os/x86_64/
gpgcheck=0
[root@zangfans ~] # yum clean all
[root@zangfans ~] # yum makecache
[root@zangfans ~] # yum install htop

  

 

三、htop 参数

键入htop 命令,打开htop

?
1
[root@zangfans ~] # htop
 
 
 

上面左上角显示CPU、内存、交换区的使用情况,右边显示任务、负载、开机时间,下面就是进程实时状况。

下面是 F1~F10 的功能和对应的字母快捷键。

Shortcut KeyFunction KeyDescription中文说明
h, ?F1Invoke htop Help查看htop使用说明
SF2Htop Setup Menuhtop 设定
/F3Search for a Process搜索进程
\F4Incremental process filtering增量进程过滤器
tF5Tree View显示树形结构
<, >F6Sort by a column选择排序方式
[F7Nice - (change priority)可减少nice值,这样就可以提高对应进程的优先级
]F8Nice + (change priority)可增加nice值,这样就可以降低对应进程的优先级
kF9Kill a Process可对进程传递信号
qF10Quit htop结束htop

命令行选项(COMMAND-LINE OPTIONS)

 
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
-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 追踪进程的系统调用
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    按Memory 使用排序
P    按CPU 使用排序
T    按Time+ 使用排序
F    跟踪进程: 如果排序顺序引起选定的进程在列表上到处移动,让选定条跟随该进程。这对监视一个进程非常有用:通过这种方式,你可以让一个进程在屏幕上一直可见。使用方向键会停止该功能。
K    显示/隐藏内核线程
H    显示/隐藏用户线程
Ctrl-L    刷新
Numbers    PID 查找: 输入PID,光标将移动到相应的进程上

  

 

四、htop 使用

4.1. 显示自带帮助

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

 

4.2. htop 设定

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

   

    上方左右两栏的显示方式分为Text Bar Graph Led 四种

 

    关于Display options 的设定,可要根据管理者自己的需要来设定。

 

4.3. 搜索进程

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

 

4.4. 过滤器

    按下F4,进入过滤器,相当于关键字索引,不区分大小写,如果筛选条件一直保存,可以通过Esc键清除

 

4.5. 显示树形结构

    输入"t"或按下F5,显示树形结构,效果和pstree命令差不多,父子进程可以列出来,命令集合的东西很多。

 

4.6. 选择排序方式

    按下F6 就可以指定目标条件显示

 

4.7 操作进程

    F7调高优先级nice-和F8调低优先级nice+,F9kill选中的进程发信号

 

4.8. 显示某个用户的进程,在左侧选择用户

    输入"u",在左侧选择用户

 

五、Alias top

使用老式top命令

编辑/root/.bashrc文件此文件对当前用户生效,添加如下代码

 

?
1
2
3
4
5
[root@zangfans ~] # vim /root/.bashrc
if [ -f /usr/local/bin/htop ]; then
    alias top =’ /usr/local/bin/htop
fi
[root@zangfans ~] # source /root/.bashrc

 

 

 
### 解决 IntelliJ IDEA 中 `@Autowired` 注解导致的红色波浪线错误 在使用 Spring 框架时,如果遇到 `@Autowired` 注解下的依赖注入对象显示为红色波浪线错误或者黄色警告的情况,通常是由以下几个原因引起的: #### 1. **Spring 插件未启用** 如果 Spring 支持插件未被激活,则可能导致 IDE 无法识别 `@Autowired` 或其他 Spring 特定的功能。可以通过以下方式解决问题: - 打开设置菜单:`File -> Settings -> Plugins`。 - 确认已安装并启用了名为 “Spring Framework Support” 的官方插件[^1]。 #### 2. **项目配置文件缺失或不正确** Spring 需要通过 XML 文件、Java Config 类或其他形式来定义 Bean 定义。如果没有正确加载这些配置文件,可能会导致 `@Autowired` 报错。 - 确保项目的 `applicationContext.xml` 或者基于 Java 的配置类(带有 `@Configuration` 和 `@Bean` 注解)已被正确定义和引入。 - 对于 Spring Boot 项目,确认是否存在 `spring.factories` 文件以及是否包含了必要的组件扫描路径[^3]。 #### 3. **模块依赖关系问题** 当前模块可能缺少对 Spring Core 或 Context 组件库的有效引用。这可能是由于 Maven/Gradle 构建工具中的依赖项声明不足造成的。 - 检查 `pom.xml` (Maven) 或 `build.gradle` (Gradle),确保包含如下核心依赖之一: ```xml <!-- For Maven --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> ``` ```gradle // For Gradle implementation 'org.springframework:spring-context:${springVersion}' ``` - 更新项目依赖树以应用更改:右键点击项目根目录 -> `Maven -> Reload Project` 或运行命令 `./gradlew build --refresh-dependencies`。 #### 4. **IDE 缓存损坏** Intellij IDEA 的缓存机制有时会因各种因素而失效,从而引发误报错误。清除缓存可以有效缓解此类情况。 - 使用快捷组合键 `Ctrl + Alt + Shift + S` 进入项目结构对话框;也可以尝试执行操作序列:`File -> Invalidate Caches / Restart... -> Invalidate and Restart`. #### 5. **启动异常影响正常解析** 若之前存在类似 `com.intellij.diagnostic.PluginException` 的严重初始化失败日志记录,则表明某些关键服务未能成功加载,进而干扰到后续功能表现[^2]。建议重新下载最新稳定版本的 IDEA 并按照标准流程完成初次部署工作。 ```java // 示例代码片段展示如何正确运用 @Autowired 注解实现自动装配 @Service public class StudentService { private final Repository repository; public StudentService(@Qualifier("specificRepository") Repository repo){ this.repository = repo; } } @Component class SpecificComponent{ @Autowired private transient StudentService studentService; // 此处应无任何编译期告警现象发生 } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值