马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
CentOS 常用信息查询:CPU、内存、硬盘、运行时长
CentOS 是从 Red Hat Enterprise Linux(RHEL)源码重新编译出来的社区发行版,在企业服务器上用得极多。排查故障、巡检机器、写运维报表,第一步往往都是「先把这台机器的情况摸清楚」。下面这些命令不需要装任何额外工具,系统自带,随手就能查。
一、查询 CPU 信息
cat /proc/cpuinfo | grep "model name"
会打印出每一核的型号字符串,比如 Intel(R) Xeon(R) CPU ...。只想看一行、不重复列,用 | head -1 截一下。
cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
cat /proc/cpuinfo | grep "processor" | wc -l
物理核数和逻辑核数的差别,在跑 Java 线程池、Nginx worker 数、Python 多进程时很关键——一般按逻辑核数配并发,按物理核数配超线程敏感的应用。
top
进去后按 P 按 CPU 排序,看 %CPU 那列。top 里按 1 可以展开显示每个逻辑核的占用,判断是不是单核打满很重要。退出按 q。
二、查询内存信息
free -m
-m 表示以 MB 为单位显示,比默认的 KB 好看懂。输出里三行要看:
total:物理内存总大小;
used / free:已用和完全空闲;
buffers/cache 和 available:真正该看的是 available,因为这部分是 buff/cache 回收后能马上给新进程用的内存,Linux 会拿空闲内存做缓存,所以 free 很小不代表内存紧张。
想看每个进程吃了多少内存,用 top(按 M 排序)或 ps aux --sort=-%mem | head。
三、查询硬盘信息
df -h
-h 是 human-readable,自动换成 GB/TB。重点看两列:
Use%:超过 85% 就该预警了,日志 盘写满会导致服务直接挂;
Mounted on:确认哪些是分区、哪些是挂载点。
想看某个具体目录占了多少空间,用 du -sh /目录名;排查大文件用 du -sh * | sort -h | tail 很快出结果。
四、查询系统运行时长
cat /proc/uptime | awk -F. '{run_days=$1/86400; run_hour=($1%86400)/3600; run_minute=($1%3600)/60; run_second=$1%60; printf("系统已运行:%d天%d时%d分%d秒", run_days, run_hour, run_minute, run_second)}'
这条命令读 /proc/uptime 里第一列的秒数,换算成天时分秒。uptime 值越大说明机器越稳定;如果值很小(比如刚重启过),说明刚故障过,此时结合 last 命令看重启历史:
last reboot
五、查询系统版本信息
cat /etc/centos-release
会输出类似 CentOS Linux release 7 (Core)。内核版本另看 uname -r,系统位数看 uname -m。
dmidecode -t system | grep 'Serial Number'
这条在云厂商机器上往往返回空或占位值,物理机上才准。客服、报修、资产登记时要用。
六、几条补充的巡检命令
- 看负载:
uptime(一分钟、五分钟、十五分钟三个数,跟逻辑核数对比才有意义);
- 看进程:
ps aux | grep 进程名;
- 看开放端口:
ss -lntp 或老系统用 netstat -lntp;
- 看内核报错:
dmesg | grep -i error。
小结
把上面这几条命令串起来,就是一套最基础的巡检脚本:free -m 看内存、df -h 看磁盘、top 看 CPU、uptime 看时长、cat /etc/centos-release 看版本。写进 crontab 每天跑一遍,输出到日志 ,服务器出问题的时候能省掉大量排查时间。
qidao123.com企服评测-应用市场 编辑提示 |