在CentOS系统中查看服务器信息,核心就是掌握一组命令:lscpu看CPU、free -h看内存、df -h看磁盘、ip addr看IP,再配合top看实时负载,基本就能摸清一台服务器的家底。
这台服务器什么配置?跑得累不累?有没有人偷偷连上来?这些问题的答案,都藏在几个简单的命令里,下面就从硬件、网络、运行状态三个维度,把 CentOS 查服务器的常用招数一次说清。
查看CentOS服务器硬件配置:CPU、内存、磁盘一次看清
接手一台新服务器,第一件事就是摸清硬件配置,别拆机箱,命令行全搞定。
CPU信息:几核几线程,一眼看穿
lscpu 是 Linux 下最直观的 CPU 查看命令,输出结果排版清晰,直接显示架构、核心数、线程数、主频。
lscpu
关键字段看这几个:Architecture(架构)、CPU(s)(逻辑核数)、Core(s) per socket(每颗物理核数)、Socket(s)(物理CPU颗数)、Model name(型号)。
想快速数一下这台机器有几个逻辑核心,直接执行:
nproc
nproc 返回的数字就是当前系统可用的逻辑 CPU 数量,写脚本时经常用到。
内存信息:不光看总量,还要看是否吃紧
free -h 是查看内存使用情况的首选命令,-h 参数表示以人类可读的 GB、MB 格式显示。
free -h
输出里 total 是物理内存总量,used 是已使用,available 是可用内存,注意 available 才是真实可用值,它会考虑缓存可以释放的部分。
想看得更细,比如每根内存条的型号、频率、插槽位置,需要用到 dmidecode,这需要 root 权限:
sudo dmidecode -t memory | grep -E "Size|Speed|Locator"
磁盘信息:空间用了多少,盘符对应哪块硬盘
df -h 看文件系统使用率,lsblk 看块设备拓扑,两者搭配使用。
df -h lsblk
df -h 输出里重点关注根分区 的 Use%,超过 80% 就该考虑清理或扩容了。lsblk 则能列出 sda、sdb 之类的物理磁盘和分区关系,还能看到挂载点,遇到数据盘没挂载的情况,lsblk 是排查的第一步。
centos查看服务器ip地址和网络连接状态
网络配置查不对,服务器等于没接入互联网,这部分说说最常用的网络查看命令组合。
查IP地址:ip addr 是主力,hostname -I 是快捷方式
CentOS 7 及以上版本系统自带 ip 命令,替代了旧版的 ifconfig。
ip addr
输出里 lo 是回环接口,eth0 或 ens33 之类的才是真实的网卡接口,inet 后面跟的就是 IPv4 地址,只看 IPv4 地址,可以用:
hostname -I
这条命令只输出 IP,不带任何多余信息,写自动化脚本时很顺手,如果网卡没配置 IP,hostname -I 会返回空,这时候需要检查网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0。
查看端口监听和连接状态:ss 命令足以替代 netstat
端口有没有被占用、谁在连这台服务器、建立了多少连接,这些用 ss 命令查。
ss -tulnp
-t 显示 TCP,-u 显示 UDP,-l 只看监听状态,-n 不解析服务名显示端口数字,-p 显示对应的进程 PID,排查 Web 服务是否正常启动,先跑 ss -tulnp | grep 80,看 80 端口有没有在监听。
想统计当前的 TCP 连接数,可以使用:
ss -s
这条命令汇总了 TCP、UDP 的连接总数和各状态统计,快速判断服务器是否遭遇大量连接时很有用。
网络连通性排查:ping 和 traceroute 分工不同
ping 测的是目标主机通不通,traceroute 看的是数据包走哪条路,日常排查中,先 ping 内网网关确认本地网络通不通,再 ping 外网 IP 确认能否出网,ping 域名确认 DNS 解析是否正常,这个排查顺序在服务器无法上网时非常有效。
查看CentOS服务器系统运行状态:负载、进程、登录记录
服务器卡不卡、有没有被入侵、什么时候重启过,这些运维问题属于运行状态范畴。
系统负载和实时资源占用:top 是核心工具
top 命令是 Linux 运维的日常必备,第一行显示当前时间和系统运行时长,load average 后面的三个数字分别代表过去 1 分钟、5 分钟、15 分钟的平均负载。
top
负载数值要和 CPU 核心数对应来看,4 核机器负载稳定在 3 左右,说明基本满载;负载超过 8 就明显过载了,按 Shift + P 按 CPU 使用率排序,按 Shift + M 按内存占用排序,看到某个进程 CPU 长期超过 100%,基本可以确认它在疯狂消耗资源。
查看历史负载趋势:uptime 与 sar
uptime 是 top 命令第一行的精简版,只想看负载就执行这一条。
uptime
如果需要看过去某时间段的负载走势,用 sar(需要安装 sysstat 包):
sar -q
sar 读的是 /var/log/sa/ 目录下的历史记录,默认保存 7 天,排查服务器深夜是否曾出现过负载尖峰,这类历史数据是最直接的证据。
登录记录和系统日志:安全审计必查项
看谁登录过、什么时候登录的:
last
last 读 /var/log/wtmp,显示所有成功登录的记录,包括登录 IP、登录时间、登录时长,配合 lastb(需要 root 权限)查看失败的登录尝试,能发现 SSH 爆破的痕迹。
系统日志方面,CentOS 7 使用 journalctl 统一管理:
journalctl -p err -b
-p err 只显示错误级别以上的日志,-b 只看本次启动的记录,排查开机故障时,这条命令比翻 dmesg 更直观。
一条命令汇总:CentOS服务器整体配置快速查看脚本
上面零零散散的命令记不住?可以把常用的几条封装成一个 Shell 脚本,执行一次就把服务器关键信息全部列出来,手动快速查看时,用下面的分号组合也能实现一键输出:
echo "===== 系统信息 =====" && uname -a && echo "===== CPU =====" && lscpu | grep "Model name" && nproc && echo "===== 内存 =====" && free -h | grep Mem && echo "===== 磁盘 =====" && df -h | grep -E "^/dev|文件系统" && echo "===== 网络 =====" && ip addr | grep "inet " | grep -v 127.0.0.1 && echo "===== 负载 =====" && uptime
这段命令把系统内核版本、CPU 型号、核心数、内存容量、磁盘分区、IP 地址、当前负载一次性打出来,建议将这段内容加入 /etc/profile.d/server_info.sh,每次 SSH 登录时自动显示服务器摘要,久了之后会对不健康的状态非常敏感。
想要更可视化的输出,可以安装 neofetch 或 inxi,它们能把系统信息以彩色 ASCII 图案展示,适合用在新环境交接或展示场合,但常规监控还是推荐原生命令,轻量且不依赖外部仓库。
不同管理场景下CentOS服务器信息查看的命令组合
命令是死的,场景是活的,下面按照真实运维场景梳理命令搭配。
接手新服务器,全面盘点
刚拿到一台服务器,不知道什么配置、跑着什么业务,建议按这个顺序执行:
last reboot查看最近重启时间,判断系统稳定性lscpu+free -h确认计算资源df -h+lsblk确认存储规划ss -tulnp查看当前监听端口,推断运行了哪些服务systemctl list-units --type=service --state=running列出所有运行中的服务
业务卡顿,排查性能瓶颈
用户反馈访问变慢,需要快速定位瓶颈:
uptime看负载是否异常升高top按 CPU 排序,找到占用率最高的进程free -h看内存是否不足触发 swap 交换df -h看磁盘是否写满dmesg | tail查看内核最近是否有 OOM(内存溢出)或 I/O 错误
这套流程逐年用于大部分性能问题定位,业界称为”故障排查五板斧”。
安全审计,确认是否被入侵
怀疑服务器被安全威胁时,优先查看:
last和lastb检查异常登录记录cat /etc/passwd | grep /bin/bash确认系统用户,排查是否存在可疑账号crontab -l和cat /etc/crontab检查计划任务是否被篡改ss -tunlp查看是否存在对外连接的异常进程find /tmp -type f -mtime -3查看临时目录近期新增的可疑文件
关于centos查看服务器信息的常见问题
centos查看服务器硬件配置命令中,哪个最准确?
dmidecode 读取的是 DMI 固件数据,能显示服务器的序列号、主板型号、内存插槽等底层硬件信息,准确度最高,但需要 root 权限,日常快速查看可以使用 lscpu 和 free -h,它们基于系统内核采集数据,满足绝大多数运维场景,注意云服务器(如简米云 ECS、酷番云 CVM)上 dmidecode 返回的数据可能是虚拟化层模拟的,不代表宿主机真实硬件。
centos查看服务器内存使用情况时,buffer 和 cache 有什么区别?
free -h 输出中的 buff/cache 是 Linux 的文件缓存机制。buffer 是块设备的写入缓冲,cache 是文件内容的页面缓存,缓存存在的意义是加速读写,当应用程序需要更多内存时,内核会自动回收这部分的缓存空间,因此在日常监控中重点看 available 列,而不是把 cache 当作内存消耗。used 数值巨大而 available 很少,说明真实内存不足,需要排查进程并考虑扩容。
使用top命令查看服务器负载时,load average 多少算高?
load average 的三个数值分别对应过去 1 分钟、5 分钟、15 分钟的平均活跃进程数,判断标准是结合 CPU 逻辑核心数:负载持续高于核心数的 70% 就需要关注,达到或超过核心数说明系统处于饱和状态,4 核机器负载 4.0 意味着所有核心都在满负荷运转,此时业务请求会出现排队延迟,还要对比三个数值的走势:1 分钟值高于 15 分钟值,说明负载正在上升,需要在未来几分钟内继续观察。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/795031.html


