11人参与 • 2025-10-23 • Linux
cpu作为计算机的"大脑",其性能直接关系到系统的运行效率。在linux系统中,有多种方式可以查看cpu的详细信息。
lscpu是最常用的cpu信息查看命令,它能提供cpu的完整概览信息:
lscpu
该命令会显示以下关键信息:
如果只想查看特定信息,可以结合grep命令过滤:
# 查看cpu型号 lscpu | grep -i 'model name' # 查看cpu核心数 lscpu | grep -i 'cpu(s)'
/proc/cpuinfo文件包含了每个cpu核心的详细信息:
cat /proc/cpuinfo
这个文件会显示每个cpu核心的详细信息,包括:
使用lshw工具:
# 安装lshw(如果未安装) sudo apt install lshw # 查看cpu信息 sudo lshw -class processor # 简短格式显示 sudo lshw -short -class processor
使用dmidecode工具:
sudo dmidecode --type processor
内存是系统运行的重要资源,及时了解内存使用情况对于系统优化和故障排查至关重要。
free命令是最简单直接的内存查看工具:
# 以mb为单位显示 free -m # 以人类可读格式显示(推荐) free -h
输出结果说明:
/proc/meminfo文件提供了更详细的内存信息:
cat /proc/meminfo
关键信息包括:
vmstat命令可以查看虚拟内存统计信息:
vmstat
该命令显示:
top命令:
top
在top界面中,可以实时查看:
htop命令(更友好的界面):
# 安装htop sudo apt install htop # 运行htop htop
htop提供了更直观的界面和更丰富的功能,支持鼠标操作和颜色显示。
了解系统版本信息对于软件安装、安全更新和兼容性检查都很重要。
使用uname命令:
# 查看所有系统信息 uname -a # 只查看内核版本 uname -r # 查看内核名称 uname -s
查看/proc/version文件:
cat /proc/version
使用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
硬盘空间管理是系统维护的重要部分,及时了解磁盘使用情况可以避免空间不足的问题。
df命令用于查看文件系统的磁盘空间使用情况:
# 以人类可读格式显示(推荐) df -h # 查看特定目录的磁盘使用情况 df -h /home # 查看所有文件系统(包括虚拟文件系统) df -a # 查看特定类型的文件系统 df -t ext4
输出结果说明:
du命令用于查看目录或文件的磁盘使用情况:
# 查看当前目录下各子目录的大小 du --max-depth=1 -h # 查看指定目录的总大小 du -sh /var/log # 查看当前目录的总大小 du -sh . # 查看目录下所有文件和子目录的大小 du -ah /home
常用参数说明:
lsblk # 以更详细的方式显示 lsblk -f # 以树状结构显示 lsblk -t
# 查看所有磁盘分区信息 sudo fdisk -l # 查看特定磁盘的分区信息 sudo fdisk -l /dev/sda
除了上述基础命令外,还有一些强大的系统监控工具可以帮助您更好地管理系统。
实时监控系统进程和资源使用情况,htop是top的增强版,界面更友好。
监控磁盘i/o使用情况,查看哪些进程在大量读写磁盘:
# 安装iotop sudo apt install iotop # 运行iotop sudo iotop
系统性能监控工具,可以同时监控cpu、内存、磁盘、网络等:
# 安装nmon sudo apt install nmon # 运行nmon nmon
系统监控工具,支持web界面和多种导出格式:
# 安装glances sudo apt install glances # 运行glances glances
在实际工作中,可以组合使用多个命令来获取更全面的信息:
# 查看系统概览信息 echo "=== 系统信息 ===" && uname -a && echo -e "\n=== cpu信息 ===" && lscpu | grep -e 'model name|cpu\(s\)' && echo -e "\n=== 内存信息 ===" && free -h && echo -e "\n=== 磁盘信息 ===" && df -h
为常用命令创建别名,提高工作效率:
# 编辑.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
创建简单的监控脚本,定期记录系统状态:
#!/bin/bash
# 创建监控日志目录
mkdir -p /var/log/sysmonitor
# 记录系统信息
{
echo "===== $(date) ====="
echo "=== 系统信息 ==="
uname -a
echo -e "\n=== cpu信息 ==="
lscpu | grep -e 'model name|cpu\(s\)'
echo -e "\n=== 内存信息 ==="
free -h
echo -e "\n=== 磁盘信息 ==="
df -h
echo -e "\n=== 进程信息 ==="
ps aux --sort=-%mem | head -10
} >> /var/log/sysmonitor/sysinfo.log
当系统内存不足时,可以按以下步骤排查:
# 查看内存使用情况 free -h # 查看内存占用最多的进程 ps aux --sort=-%mem | head -10 # 查看详细信息 cat /proc/meminfo
# 查看cpu使用率 top # 查看cpu占用最多的进程 ps aux --sort=-%cpu | head -10 # 查看cpu详细信息 lscpu
# 查看磁盘使用情况 df -h # 查看大文件和目录 du -sh /* | sort -hr # 查看特定目录的大文件 find /var/log -type f -size +100m
vim cpu_mem_disk_info.sh
#!/bin/bash
echo -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 ]]; then
echo "cpu告警:cpu使用率已经超过90%!"
ps aux --sort=-%cpu | awk '!/user/{print $0; exit}' | head
fi
echo -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 ]]; then
echo "memory内存告警:内存使用率超过80%!"
ps aux --sort=-%mem | awk '!/user/{print $0; exit}' | head
fi
以上就是linux查看系统信息(cpu、内存、版本、硬盘使用情况)的命令详解的详细内容,更多关于linux查看系统信息的资料请关注代码网其它相关文章!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论