当前位置: 首页 > news >正文

Linux系统信息查看:CPU、内存、版本、硬盘使用情况

一、查看CPU信息

CPU作为计算机的"大脑",其性能直接关系到系统的运行效率。在Linux系统中,有多种方式可以查看CPU的详细信息。

1. 使用lscpu命令

lscpu是最常用的CPU信息查看命令,它能提供CPU的完整概览信息:

lscpu

该命令会显示以下关键信息:

  • CPU架构(Architecture)
  • CPU操作模式(CPU op-mode(s))
  • CPU核心数(CPU(s))
  • 线程数(Thread(s) per core)
  • 核心数(Core(s) per socket)
  • 插槽数(Socket(s))
  • CPU型号(Model name)
  • CPU频率(CPU MHz)
  • 缓存信息(Cache)

如果只想查看特定信息,可以结合grep命令过滤:

# 查看CPU型号
lscpu | grep -i 'Model name'# 查看CPU核心数
lscpu | grep -i 'CPU(s)'

2. 查看/proc/cpuinfo文件

/proc/cpuinfo文件包含了每个CPU核心的详细信息:

cat /proc/cpuinfo

这个文件会显示每个CPU核心的详细信息,包括:

  • processor:处理器编号
  • vendor_id:厂商ID
  • cpu family:CPU系列
  • model:CPU型号
  • model name:CPU型号名称
  • stepping:步进值
  • cpu MHz:CPU频率
  • cache size:缓存大小
  • physical id:物理CPUID
  • siblings: sibling处理器个数
  • core id:核心ID
  • cpu cores:核心数
  • apicid:apicid
  • flags:CPU特性标志

3. 使用其他工具查看CPU信息

使用lshw工具:

# 安装lshw(如果未安装)
sudo apt install lshw# 查看CPU信息
sudo lshw -class processor# 简短格式显示
sudo lshw -short -class processor

使用dmidecode工具:

sudo dmidecode --type processor

二、查看内存使用情况

内存是系统运行的重要资源,及时了解内存使用情况对于系统优化和故障排查至关重要。

1. 使用free命令

free命令是最简单直接的内存查看工具:

# 以MB为单位显示
free -m# 以人类可读格式显示(推荐)
free -h

输出结果说明:

  • Mem行:物理内存信息
    • total:总内存容量
    • used:已使用内存
    • free:空闲内存
    • shared:共享内存
    • buff/cache:缓存和缓冲区内存
    • available:可用内存(包含可回收的缓存)
  • Swap行:交换分区信息
    • total:交换分区总大小
    • used:已使用的交换分区
    • free:空闲的交换分区

2. 查看/proc/meminfo文件

/proc/meminfo文件提供了更详细的内存信息:

cat /proc/meminfo

关键信息包括:

  • MemTotal:总内存
  • MemFree:空闲内存
  • MemAvailable:可用内存
  • Buffers:缓冲区内存
  • Cached:缓存内存
  • SwapTotal:交换分区总量
  • SwapFree:空闲交换分区
  • Active:活跃内存
  • Inactive:非活跃内存

3. 使用vmstat命令

vmstat命令可以查看虚拟内存统计信息:

vmstat

该命令显示:

  • procs:进程信息
  • memory:内存信息
  • swap:交换分区信息
  • io:I/O信息
  • system:系统信息
  • cpu:CPU信息

4. 使用top和htop命令

top命令:

top

在top界面中,可以实时查看:

  • 内存使用总量
  • 已用内存
  • 空闲内存
  • 缓冲内存
  • 各进程的内存占用情况

htop命令(更友好的界面):

# 安装htop
sudo apt install htop# 运行htop
htop

htop提供了更直观的界面和更丰富的功能,支持鼠标操作和颜色显示。

三、查看系统版本信息

了解系统版本信息对于软件安装、安全更新和兼容性检查都很重要。

1. 查看内核版本信息

使用uname命令:

# 查看所有系统信息
uname -a# 只查看内核版本
uname -r# 查看内核名称
uname -s

查看/proc/version文件:

cat /proc/version

2. 查看系统发行版信息

使用lsb_release命令:

# 安装lsb-release(如果未安装)
sudo apt install lsb-release# 查看详细发行版信息
lsb_release -a

查看/etc/issue文件:

cat /etc/issue

查看/etc/os-release文件:

cat /etc/os-release

查看/etc/lsb-release文件:

cat /etc/lsb-release

四、查看硬盘使用情况

硬盘空间管理是系统维护的重要部分,及时了解磁盘使用情况可以避免空间不足的问题。

1. 使用df命令查看磁盘空间

df命令用于查看文件系统的磁盘空间使用情况:

# 以人类可读格式显示(推荐)
df -h# 查看特定目录的磁盘使用情况
df -h /home# 查看所有文件系统(包括虚拟文件系统)
df -a# 查看特定类型的文件系统
df -t ext4

输出结果说明:

  • Filesystem:文件系统
  • Size:总大小
  • Used:已使用空间
  • Avail:可用空间
  • Use%:使用百分比
  • Mounted on:挂载点

2. 使用du命令查看目录大小

du命令用于查看目录或文件的磁盘使用情况:

# 查看当前目录下各子目录的大小
du --max-depth=1 -h# 查看指定目录的总大小
du -sh /var/log# 查看当前目录的总大小
du -sh .# 查看目录下所有文件和子目录的大小
du -ah /home

常用参数说明:

  • -h:以人类可读格式显示
  • -s:只显示总计
  • -a:显示所有文件和目录
  • –max-depth=N:显示指定深度的目录

3. 使用lsblk命令查看块设备信息

lsblk# 以更详细的方式显示
lsblk -f# 以树状结构显示
lsblk -T

4. 使用fdisk命令查看磁盘分区信息

# 查看所有磁盘分区信息
sudo fdisk -l# 查看特定磁盘的分区信息
sudo fdisk -l /dev/sda

五、系统监控工具推荐

除了上述基础命令外,还有一些强大的系统监控工具可以帮助您更好地管理系统。

1. top/htop

实时监控系统进程和资源使用情况,htop是top的增强版,界面更友好。

2. iotop

监控磁盘I/O使用情况,查看哪些进程在大量读写磁盘:

# 安装iotop
sudo apt install iotop# 运行iotop
sudo iotop

3. nmon

系统性能监控工具,可以同时监控CPU、内存、磁盘、网络等:

# 安装nmon
sudo apt install nmon# 运行nmon
nmon

4. glances

系统监控工具,支持Web界面和多种导出格式:

# 安装glances
sudo apt install glances# 运行glances
glances

六、实用技巧和最佳实践

1. 组合命令使用

在实际工作中,可以组合使用多个命令来获取更全面的信息:

# 查看系统概览信息
echo "=== 系统信息 ===" && uname -a && echo -e "\n=== CPU信息 ===" && lscpu | grep -E 'Model name|CPU\(s\)' && echo -e "\n=== 内存信息 ===" && free -h && echo -e "\n=== 磁盘信息 ===" && df -h

2. 创建别名

为常用命令创建别名,提高工作效率:

# 编辑.bashrc文件
nano ~/.bashrc# 添加别名
alias sysinfo='echo "=== 系统信息 ===" && uname -a && echo -e "\n=== CPU信息 ===" && lscpu | grep -E "Model name|CPU\(s\)" && echo -e "\n=== 内存信息 ===" && free -h && echo -e "\n=== 磁盘信息 ===" && df -h'# 使配置生效
source ~/.bashrc

3. 定期监控脚本

创建简单的监控脚本,定期记录系统状态:

#!/bin/bash# 创建监控日志目录
mkdir -p /var/log/sysmonitor# 记录系统信息
{echo "===== $(date) ====="echo "=== 系统信息 ==="uname -aecho -e "\n=== CPU信息 ==="lscpu | grep -E 'Model name|CPU\(s\)'echo -e "\n=== 内存信息 ==="free -hecho -e "\n=== 磁盘信息 ==="df -hecho -e "\n=== 进程信息 ==="ps aux --sort=-%mem | head -10
} >> /var/log/sysmonitor/sysinfo.log

七、故障排查指南

1. 内存不足排查

当系统内存不足时,可以按以下步骤排查:

# 查看内存使用情况
free -h# 查看内存占用最多的进程
ps aux --sort=-%mem | head -10# 查看详细信息
cat /proc/meminfo

2. CPU使用率过高排查

# 查看CPU使用率
top# 查看CPU占用最多的进程
ps aux --sort=-%cpu | head -10# 查看CPU详细信息
lscpu

3. 磁盘空间不足排查

# 查看磁盘使用情况
df -h# 查看大文件和目录
du -sh /* | sort -hr# 查看特定目录的大文件
find /var/log -type f -size +100M

4. 查看CPU、硬盘、内存使用情况脚本

vim cpu_mem_disk_info.sh
#!/bin/bashecho -e "\033[34m CPU使用情况:\033[0m"
CPU=$(vmstat 1 2 | awk 'NR==4{print "us="$13, "sy="$14, "id="$15, "wa="$16, "st="$17}')echo -e "$CPU"CPU_RATE=$(vmstat 1 2 | awk 'NR==4{idle=$15; total=$13+$14+$15+$16+$17} NR==5{printf "CPU_RATE:%.2f\n", (total-idle)/total*100}')
echo "CPU_RATE:${CPU_RATE}%"if [[ $(awk -F"." '{print $1}' <<< "$CPU_RATE") -ge 90 ]]; thenecho "CPU告警:CPU使用率已经超过90%!"ps aux --sort=-%cpu | awk '!/USER/{print $0; exit}' | head
fiecho -e "\033[34m 磁盘使用情况:\033[0m"
df -hP | awk '/^\/dev\// {printf "%s:\tsize:%s\tused:%s\tfree:%s\trate:%s\tmount:%s\n", $1, $2, $3, $4, $5, $6;if (substr($5, 1, length($5)-1) >= 90) {printf "%s 磁盘告警:磁盘利用率超过90%%!\n", $6;} else {printf "磁盘利用率良好\n";}
}'echo -e "\033[34m 内存使用情况:\033[0m"
mem_info=($(free -m | awk 'NR==2{print $2,$3,$4,$5,$6,$7}'))
total=${mem_info[0]}
used=${mem_info[1]}
rate=$(echo "scale=2;$used/$total*100" | bc | awk -F. '{print $2}')echo -e "total\tused\tfree\tshared\tbuffer\tavailable"
echo -e "${total}M\t${used}M\t${mem_info[2]}M\t${mem_info[3]}M\t${mem_info[4]}M\t${mem_info[5]}M\nrate:${rate}%"if [[ $(awk -F"." '{print $1}' <<< "$rate") -ge 80 ]]; thenecho "Memory内存告警:内存使用率超过80%!"ps aux --sort=-%mem | awk '!/USER/{print $0; exit}' | head
fi
http://www.dtcms.com/a/500142.html

相关文章:

  • 【CVPR 2025】MaDCoW广角照片任意物体的畸变校正论文笔记
  • 教学单位 网站建设域名大全 二级域名
  • 34部署LNMP架构详细解析
  • 国内跨境电商建站系统北京网站优化企业
  • 【电路·3】化简电路、等效变换、求输入电阻;其实很简单~
  • include″″与includ<>的区别
  • 如何快速提升网站pr网站建站和维护
  • ArkTS详细使用教程
  • 东庄水利枢纽建设公司网站seo月薪
  • 专业的网站制作团队网站建设分期收费
  • 做网站广告公司wordpress修改站标在哪个文件
  • 微信小程序电子测宅堪墓风水罗盘
  • P3269 [JLOI2016] 字符串覆盖题解
  • C++IO库
  • 大型网站开发 框架wordpress俄语版
  • 贵州省交通工程建设质监局网站深圳市网站备案
  • 微信息公众平台微网站建设网站开发与运行环境
  • 智谱大模型实现文生视频案例
  • 有关网站建设的参考书慧谷网站开发文档
  • 中英文网站建设方案广州搜索引擎优化
  • 这么做网站原型图网站建设公司倒闭
  • 网站建设功能怎么写深圳seo培训
  • 算法题(237):滑雪
  • MQTT 协议深度学习笔记(含实战示例・完整版)
  • 工程建设网站导航图珠海建网站价格
  • 做外贸是什么网站网络宣传网站建设制作
  • 网站关键词制作《电子商务网站开发与管理》书籍
  • 成绩查询系统网站开发怎么做网站的图片跳转
  • 基于 GEE MODIS 数据实现 7 大遥感指数计算与可视化
  • 【计算机算法设计与分析】分治算法