我喜欢使用 htop 来显示服务器的使用情况。
不幸的是,现代服务器的机器可能有 48 个甚至 120 个核心。这意味着我只能看到 htop 的前几行,而看不到 htop 显示的后半部分,即哪些进程正在使用这台机器。
我怎样才能隐藏所有核心使用行或更好地将它们聚合起来以进行某种统计?
答案1
F2使用或打开设置屏幕ShiftS。该屏幕的第一页专用于配置标题表,因此您可以删除“CPU”并添加“CPU 平均值”。
在最近的 htop 版本中,还有“CPUs (1&2/4)”和“CPUs (3&4/4)”计量表,每行显示两个核心,但这在 8-32 核系统上更有用。
要节省另外两行,请打开“显示选项”页面并关闭“在页眉周围留出边距”。
答案2
基于重力的回答,你可以在另外一台机器上建立一个你喜欢的配置然后把它复制到出现问题的机器上。
配置保存在(Debian 下)下~/.config/htop/htoprc
。
- 在一台可以看到标题的机器上:
- 按下
F2
进入配置。 - 向左移动到“左栏”
- 向下移动选择“CPU”,然后按F9将其删除。
- 从最右边的列中选择“CPU 平均值”并按 F5 插入它。
- F10 让您离开菜单。
- 复制
~/.config/htop/htoprc
到更大的机器。
在我的例子中(120 个核心),标题左侧显示“CPU(1&2/4)”,标题右侧显示“CPU(3&4/4)”的配置看起来不错。因此,标题占据了屏幕的一半,另一半列出了进程。标题中的每一行都显示四个 CPU,这对我来说没问题。
示例配置:
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
fields=0 48 17 18 38 39 40 2 46 47 49 1
sort_key=46
sort_direction=1
hide_threads=0
hide_kernel_threads=1
hide_userland_threads=0
shadow_other_users=0
show_thread_names=0
highlight_base_name=0
highlight_megabytes=1
highlight_threads=0
tree_view=0
header_margin=1
detailed_cpu_time=0
cpu_count_from_zero=0
color_scheme=0
delay=15
left_meters=Memory Swap CPU Load LoadAverage
left_meter_modes=1 1 1 1 1
right_meters=Tasks LoadAverage Uptime
right_meter_modes=2 2 2
# 替代方案(盲导航)按F2
、left
、F9
。 (如果 CPU 是标题中的项目。)此后,您可以看到正在发生的事情,并可以通过按F10
退出配置来继续。
盲导航 v2 (2020-07)
谢谢islandman93:
新的盲导航:,,,,,
F2
。然后你可能想在左栏添加 cpu 平均值right
delete
right
delete
答案3
为了尽量减少 CPU 条的出现:
F2,向下箭头两次指向“仪表”,向右箭头指向“第 1 列”并删除 CPU 仪表,然后指向“第 2 列”并删除 CPU 仪表(如果存在)。然后向右箭头指向“可用仪表”,选择“CPU(1-8/8)[条形图]”并将其放在第 1 列。
答案4
我也遇到了这个问题,系统有 24 个核心、大量的磁盘和接口,我无法读取所有内存/磁盘/网络线路等之后的过程数据。
最简单的解决方案就是以不同的方式开始:
atop -l
来自手册页:限制每个 CPU 的计数器、活动磁盘和网络接口的系统级行数。