引言

Manjaro是一个基于Arch Linux的发行版,以其用户友好性和滚动更新模式而闻名。KDE Plasma桌面环境则提供了美观、高度可定制的用户界面。在这样的系统中,有效监控计算机性能对于系统维护、故障排除和优化用户体验至关重要。通过掌握系统资源使用情况,用户可以及时发现潜在问题,合理分配资源,从而提高工作效率和整体用户体验。

系统内置监控工具

KDE系统监视器

KDE系统监视器是Manjaro KDE系统中预装的图形化监控工具,提供了直观的界面来查看系统资源使用情况。

启动和使用

可以通过以下方式启动KDE系统监视器:

  • 在应用程序菜单中搜索”系统监视器”或”System Monitor”
  • 按Alt+F2,输入ksysguard并按回车
  • 在终端中输入ksysguard并按回车

主要功能

  1. 进程表:显示所有正在运行的进程,包括CPU和内存使用情况
  2. 系统负载:实时显示CPU、内存、交换空间和网络的使用情况
  3. 历史记录:提供资源使用的历史图表
  4. 传感器:显示温度、风扇速度等硬件信息

自定义设置

用户可以自定义KDE系统监视器的显示:

  • 添加或删除工作表
  • 自定义每个工作表的显示内容
  • 设置更新频率
  • 配置进程显示的过滤器和排序选项

KSysGuard

KSysGuard是KDE系统监视器的后端程序,提供了更强大的功能。

远程监控

KSysGuard支持远程监控功能,可以监控网络上的其他计算机:

  1. 在”文件”菜单中选择”连接到主机”
  2. 输入远程主机的地址和认证信息
  3. 选择要监控的传感器

自定义传感器

用户可以创建自定义传感器来监控特定系统参数:

  1. 在”文件”菜单中选择”新建工作表”
  2. 右键点击工作表,选择”添加传感器”
  3. 从列表中选择要监控的传感器类型

命令行监控工具

top

top是最基本的命令行系统监控工具,在大多数Linux系统中都预装了。

基本使用

在终端中输入top并按回车即可启动:

top 

主要功能

  1. 实时进程列表:显示所有正在运行的进程及其资源使用情况
  2. 系统摘要:显示系统总体状态,包括运行时间、登录用户数、系统负载等
  3. CPU和内存使用情况:显示总体和各进程的CPU和内存使用情况

常用交互命令

  • P:按CPU使用率排序
  • M:按内存使用率排序
  • k:终止选中的进程
  • r:重新设置进程的优先级
  • q:退出top

高级选项

top -d 5 # 设置刷新间隔为5秒 top -p 1234 # 只监控PID为1234的进程 top -u username # 只显示指定用户的进程 

htop

htop是top的增强版,提供了更友好的界面和更多功能。

安装

在Manjaro中,可以使用pacman安装htop:

sudo pacman -S htop 

基本使用

在终端中输入htop并按回车:

htop 

主要功能

  1. 彩色界面:使用不同颜色区分不同类型的进程
  2. 树状视图:显示进程间的层次关系
  3. 鼠标操作:支持鼠标点击选择进程和操作
  4. 垂直和水平滚动:方便查看所有进程和完整信息

常用交互命令

  • F2:进入设置界面
  • F3:搜索进程
  • F4:按名称过滤进程
  • F5:显示进程树
  • F9:终止选中的进程
  • F7F8:调整进程优先级

高级选项

htop -d 10 # 设置刷新间隔为10秒 htop -p 1234,5678 # 监控多个指定PID的进程 htop -u username # 只显示指定用户的进程 

glances

glances是一个全面的系统监控工具,提供了丰富的系统信息。

安装

在Manjaro中,可以使用pacman安装glances:

sudo pacman -S glances 

基本使用

在终端中输入glances并按回车:

glances 

主要功能

  1. 综合信息:显示CPU、内存、网络、磁盘、传感器等多种信息
  2. 警报系统:当资源使用超过阈值时高亮显示
  3. 导出功能:支持将监控数据导出为多种格式
  4. 客户端/服务器模式:支持远程监控

常用交互命令

  • a:自动排序进程
  • c:按CPU使用率排序
  • m:按内存使用率排序
  • p:按进程名排序
  • i:按I/O速率排序
  • q:退出glances

高级选项

glances -t 5 # 设置刷新间隔为5秒 glances --export-csv /path/to/file.csv # 导出数据为CSV格式 glances -s # 以服务器模式启动 glances -c server_ip # 连接到远程glances服务器 

nmon

nmon是一个性能监控工具,提供了丰富的系统性能数据。

安装

在Manjaro中,可以使用pacman安装nmon:

sudo pacman -S nmon 

基本使用

在终端中输入nmon并按回车:

nmon 

主要功能

  1. 实时监控:显示CPU、内存、磁盘、网络等实时数据
  2. 数据记录:可以将监控数据保存到文件中供后续分析
  3. 多种视图:提供不同的监控视图,可以切换查看不同类型的资源

常用交互命令

  • c:显示CPU信息
  • m:显示内存信息
  • d:显示磁盘信息
  • n:显示网络信息
  • k:显示内核信息
  • q:退出nmon

高级选项

nmon -f -t -s 5 -c 60 # 每5秒采集一次数据,共采集60次,结果保存到文件 nmon -T /path/to/datafile # 显示已保存的数据文件 

图形化第三方监控工具

Conky

Conky是一个轻量级的系统监视器,可以显示在桌面上。

安装

在Manjaro中,可以使用pacman安装Conky:

sudo pacman -S conky 

基本配置

创建Conky配置文件:

mkdir -p ~/.config/conky nano ~/.config/conky/conky.conf 

一个简单的配置示例:

conky.config = { alignment = 'top_right', background = false, border_width = 1, cpu_avg_samples = 2, default_color = 'white', default_outline_color = 'white', default_shade_color = 'white', draw_borders = false, draw_graph_borders = true, draw_outline = false, draw_shades = false, use_xft = true, font = 'DejaVu Sans Mono:size=12', gap_x = 5, gap_y = 60, minimum_height = 5, minimum_width = 5, net_avg_samples = 2, no_buffers = true, out_to_console = false, out_to_ncurses = false, out_to_stderr = false, out_to_x = true, owner = true, own_window = true, own_window_class = 'Conky', own_window_type = 'desktop', stippled_borders = 0, update_interval = 1.0, uppercase = false, use_spacer = 'none', show_graph_scale = false, show_graph_range = false } conky.text = [[ ${color grey}System:$color $sysname $kernel $machine ${color grey}Uptime:$color $uptime ${color grey}Frequency (in MHz):$color $freq ${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4} ${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4} ${color grey}CPU Usage:$color $cpu% ${cpubar 4} ${color grey}Processes:$color $processes ${color grey}Running:$color $running_processes ${color grey}File systems: / $color${fs_used /}/${fs_size /} ${fs_bar 6 /} ${color grey}Networking: Up: ${color}${upspeed eth0} ${color grey} - Down: ${color}${downspeed eth0} ]] 

启动Conky:

conky -d 

高级配置

Conky支持多种变量和配置选项,可以显示几乎所有的系统信息。用户可以根据需要自定义显示内容和样式。

Plasma小部件

KDE Plasma桌面环境提供了多种系统监控小部件,可以直接添加到桌面上。

添加系统监控小部件

  1. 右键点击桌面,选择”添加小部件”
  2. 在搜索框中输入”系统监视器”或”System Monitor”
  3. 选择合适的小部件并拖放到桌面上

常用系统监控小部件

  1. 系统监视器:显示CPU、内存、网络和磁盘使用情况
  2. 网络监视器:显示网络上传和下载速度
  3. 磁盘使用情况:显示磁盘空间使用情况
  4. 温度监视器:显示CPU和GPU温度
  5. 系统负载视图器:显示系统负载历史

自定义小部件

大多数小部件都支持自定义:

  • 右键点击小部件,选择”配置小部件”
  • 调整显示选项、更新频率和外观
  • 设置警报阈值

GKrellM

GKrellM是一个可扩展的系统监视器,提供了丰富的插件支持。

安装

在Manjaro中,可以使用pacman安装GKrellM:

sudo pacman -S gkrellm 

基本使用

在终端中输入gkrellm并按回车:

gkrellm 

主要功能

  1. 多系统监控:可以同时监控本地和远程系统
  2. 插件支持:支持多种插件扩展功能
  3. 高度可定制:可以自定义外观和显示内容

常用配置

  1. 右键点击GKrellM窗口,选择”配置”
  2. 在”常规”选项卡中设置更新频率和外观
  3. 在”启用”选项卡中选择要启用的监控项
  4. 在”插件”选项卡中配置插件

Stacer

Stacer是一个系统优化和监控工具,提供了友好的用户界面。

安装

在Manjaro中,可以使用pacman安装Stacer:

sudo pacman -S stacer 

基本使用

在应用程序菜单中搜索”Stacer”并启动,或在终端中输入:

stacer 

主要功能

  1. 系统监控:显示CPU、内存、磁盘和网络使用情况
  2. 启动项管理:管理系统启动应用程序
  3. 服务管理:管理系统服务
  4. 卸载程序:管理已安装的软件包
  5. 系统清理:清理系统缓存和临时文件

系统日志分析

journalctl

journalctl是systemd日志管理工具,可以查看和分析系统日志。

基本使用

查看所有系统日志:

journalctl 

常用选项

journalctl -xe # 显示详细的日志信息和可能的解决方案 journalctl -b # 显示当前启动的日志 journalctl -f # 实时跟踪日志 journalctl --since "2023-01-01" --until "2023-01-02" # 显示指定时间段的日志 journalctl -u service_name # 显示特定服务的日志 

过滤和分析

journalctl -p err # 只显示错误级别的日志 journalctl -g "keyword" # 搜索包含关键字的日志 journalctl --disk-usage # 查看日志占用的磁盘空间 

dmesg

dmesg用于显示内核消息,对于诊断硬件和驱动问题很有用。

基本使用

dmesg 

常用选项

dmesg -T # 显示人类可读的时间戳 dmesg -l err # 只显示错误级别的消息 dmesg -w # 实时显示内核消息 dmesg --follow # 实时跟踪内核消息 

logwatch

logwatch是一个日志分析工具,可以生成系统日志的摘要报告。

安装

在Manjaro中,可以使用pacman安装logwatch:

sudo pacman -S logwatch 

基本使用

logwatch --detail High --mailto your@email.com --range today 

常用选项

logwatch --service sshd --detail High # 分析特定服务的日志 logwatch --range yesterday # 分析昨天的日志 logwatch --print # 在终端中打印报告,而不是发送邮件 

性能优化建议

CPU优化

  1. 识别CPU密集型进程: 使用top、htop或glances识别CPU使用率高的进程,决定是否需要终止或限制它们。

  2. 调整CPU频率: 安装并配置cpupower:

    sudo pacman -S cpupower sudo systemctl enable cpupower sudo systemctl start cpupower sudo cpupower frequency-set -g performance # 设置为性能模式 sudo cpupower frequency-set -g powersave # 设置为节能模式 
  3. 管理进程优先级: 使用nice和renice调整进程优先级:

    nice -n 19 command # 以低优先级启动命令 renice 19 -p PID # 调整已运行进程的优先级 

内存优化

  1. 识别内存密集型进程: 使用top、htop或glances识别内存使用率高的进程。

  2. 清理内存缓存

    sudo sysctl -w vm.drop_caches=1 # 清理页缓存 sudo sysctl -w vm.drop_caches=2 # 清理目录项和inode缓存 sudo sysctl -w vm.drop_caches=3 # 清理所有缓存 
  3. 配置交换空间: 调整swappiness参数,控制系统使用交换空间的倾向:

    cat /proc/sys/vm/swappiness # 查看当前值 sudo sysctl vm.swappiness=10 # 临时设置 echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf # 永久设置 

磁盘优化

  1. 监控磁盘使用情况

    df -h # 查看磁盘空间使用情况 du -sh /path/to/directory # 查看目录大小 ncdu # 交互式查看磁盘使用情况 
  2. 清理不必要的文件

    sudo pacman -Scc # 清理pacman缓存 sudo paccache -r # 保留最近版本的包缓存 journalctl --vacuum-size=100M # 限制日志大小 
  3. 优化文件系统: 使用fstrim定期优化SSD:

    sudo systemctl enable fstrim.timer sudo systemctl start fstrim.timer 

网络优化

  1. 监控网络使用情况

    nethogs # 按进程显示网络使用情况 iftop # 显示网络带宽使用情况 iptraf-ng # 网络统计工具 
  2. 优化网络设置: 调整TCP窗口大小和其他网络参数:

    echo "net.core.rmem_max = 16777216" | sudo tee -a /etc/sysctl.conf echo "net.core.wmem_max = 16777216" | sudo tee -a /etc/sysctl.conf echo "net.ipv4.tcp_rmem = 4096 87380 16777216" | sudo tee -a /etc/sysctl.conf echo "net.ipv4.tcp_wmem = 4096 65536 16777216" | sudo tee -a /etc/sysctl.conf sudo sysctl -p # 应用更改 
  3. 使用网络管理工具

    sudo pacman -S net-tools # 安装网络工具 sudo pacman -S iw # 安装无线网络工具 

实用技巧和快捷方式

KDE快捷键

  1. 系统活动:Ctrl+Esc 打开系统活动监视器
  2. KRunner:Alt+F2 打开KRunner,可以快速启动应用程序和命令
  3. 桌面预览:Ctrl+F8 显示所有桌面
  4. 窗口切换:Alt+Tab 在窗口间切换

终端快捷键

  1. 终止进程:Ctrl+C 终止当前运行的进程
  2. 暂停进程:Ctrl+Z 暂停当前运行的进程
  3. 后台运行:在命令后添加&使进程在后台运行
  4. 屏幕清除:Ctrl+L 清除终端屏幕

自定义脚本

创建自定义监控脚本,例如创建一个简单的系统信息脚本:

nano ~/sysinfo.sh 

添加以下内容:

#!/bin/bash echo "=== 系统信息 ===" echo "主机名: $(hostname)" echo "操作系统: $(lsb_release -ds)" echo "内核: $(uname -r)" echo "架构: $(uname -m)" echo "运行时间: $(uptime -p)" echo "" echo "=== CPU信息 ===" echo "CPU型号: $(grep 'model name' /proc/cpuinfo | uniq | cut -d':' -f2 | xargs)" echo "CPU核心数: $(nproc)" echo "CPU使用率: $(top -bn1 | grep "Cpu(s)" | sed "s/.*, *([0-9.]*)%* id.*/1/" | awk '{print 100 - $1}')%" echo "" echo "=== 内存信息 ===" free -h echo "" echo "=== 磁盘信息 ===" df -h | grep -v "tmpfs|udev" echo "" echo "=== 网络信息 ===" ip addr show | grep -E "inet|ether" | head -4 

使脚本可执行:

chmod +x ~/sysinfo.sh 

运行脚本:

~/sysinfo.sh 

系统别名

/.bashrc或/.zshrc中添加有用的别名:

echo 'alias top="htop"' >> ~/.bashrc echo 'alias df="df -h"' >> ~/.bashrc echo 'alias du="du -sh"' >> ~/.bashrc echo 'alias free="free -h"' >> ~/.bashrc echo 'alias update="sudo pacman -Syu"' >> ~/.bashrc source ~/.bashrc 

系统监控自动化

使用cron定期运行监控脚本:

crontab -e 

添加以下行以每小时记录系统状态:

0 * * * * ~/sysinfo.sh >> ~/sysinfo.log 

总结

在Manjaro KDE系统下,有多种工具和方法可以高效监控计算机性能。从系统内置的KDE系统监视器到命令行工具如htop和glances,再到图形化工具如Conky和Stacer,用户可以根据自己的需求选择合适的工具。

通过定期监控系统资源使用情况,用户可以及时发现潜在问题,合理分配资源,优化系统性能。结合系统日志分析和性能优化建议,用户可以进一步提升工作效率和用户体验。

最重要的是,建立一套适合自己的监控策略,并将其整合到日常工作中。无论是通过快捷键快速查看系统状态,还是通过自定义脚本和自动化工具进行长期监控,都能帮助用户更好地掌握系统资源使用情况,提升工作效率和用户体验。

通过本指南介绍的方法和工具,Manjaro KDE用户可以全面了解系统性能,及时发现和解决问题,优化系统配置,从而获得更高效、更流畅的计算体验。