Linux查看服务器命令的核心答案是:查看系统信息用uname和hostname,查看CPU用lscpu,查看内存用free,查看硬盘用df和du,查看网络用ip和ss,查看进程用ps和top,查看日志用journalctl和dmesg,掌握这10个命令,你就能摸清服务器的家底。
很多刚接触Linux的朋友,面对一台乌漆嘛黑的终端窗口,最大的困惑就是:这机器到底啥配置?谁在偷偷跑程序?硬盘还剩多少?别急,今天咱们就把这些压箱底的命令翻出来,一一过一遍,你会发现,Linux查看服务器的门道,其实就那么几板斧。
linux查看服务器配置命令:系统信息一网打尽
想知道服务器是几核几G、什么系统内核,不需要拆开机箱看,命令行里敲几个单词,比鲁大师还直观。
摸清家底:uname与发行版信息
uname -a 是查看内核版本、主机名、硬件架构的万能钥匙,比如输出里带着x86_64,说明是64位系统;带着armv7l,那多半是块ARM开发板。
如果你想看的是CentOS还是Ubuntu这种发行版信息,cat /etc/os-release 更直接,这个文件把系统名字、版本号写得明明白白,写脚本做兼容性判断时,全靠它。
查看CPU和内存的原始档案
- lscpu:一条命令把CPU架构、核心数、线程数、主频全列出来,看到“CPU(s)”后面那个数字,那就是逻辑核心数,搞Java调优的朋友对这个数字特别敏感。
- free -h:用人类可读的格式显示内存总量和剩余量,重点关注available这一列,它才是程序真正能用的内存,比used列靠谱得多。
- dmidecode -t memory:如果你连内存条的品牌、频率、插槽位置都想看,这条命令直接读主板上的信息,做服务器扩容前务必先查它。
主机名和运行时长
hostname 显示当前机器名字,hostnamectl 还能顺带看到系统启动时间。uptime 则告诉你服务器已经连续运行了多久,顺便把1分钟、5分钟、15分钟的负载均衡值一起给你,负载值除以核心数,结果超过1就说明有点忙不过来了。
linux查看服务器内存命令:找出吃内存的真凶
系统变卡了,第一反应就是查内存,但光看总量不够,得知道是谁在吃内存。
free命令的进阶解读
free -h 输出里的buff/cache 经常让人误会,这块内存其实是Linux拿来当缓存用的,程序需要时随时可以释放,别一看占用高就急着杀进程。swap 那一行如果usage很高,说明物理内存真的不够用了,系统正在拿硬盘当内存凑合,这时候该考虑加内存条了。
top命令:动态监控内存和CPU
top 是Linux里最经典的监控工具,进去之后按Shift+M,进程会按内存占用率从高到低排序,谁是内存大户一眼就看清,按Shift+P则按CPU排序,按q退出。
如果觉得top的输出太花哨,htop 是它的美化版,支持鼠标操作和树状视图,不过htop得额外安装,Debian系用apt install htop,RedHat系用yum install htop。
实战场景:定位内存泄漏
- 先用top 找出PID号。
- 再用 cat /proc/PID/status 查看这个进程的详细信息,VmRSS 那一行是它实际占用的物理内存。
- 连续观察几次,如果某个进程的内存占用只涨不降,基本可以断定有内存泄漏,得换版本或者查代码了。
linux查看服务器硬盘命令:磁盘空间与IO压力
日志文件把磁盘塞满,是运维事故的高发区,定期看一眼磁盘,能省下不少半夜救火的功夫。
df命令看整体容量
df -h 查看各分区的总容量、已用、可用空间。/dev/vda1 这类设备名就是你的系统盘,当Use% 超过80%时,就该着手清理了,日志目录/var/log/journal 尤其容易膨胀,得重点关注。
df -i 看的是inode使用率,inode是存储文件元信息的数据结构,就算磁盘还有空间,inode耗尽了一样写不进文件,这种坑,新手经常踩。
du命令查具体目录大小
du -sh /var/log 查看某个目录的总大小,du -h –max-depth=1 /var 则列出var下每个子目录的大小,排查”谁把磁盘吃光了”这个问题,这个命令组合比df精细得多。
辅助手段还有 ncdu,一个基于ncurses的交互式磁盘分析工具,用方向键浏览目录大小,比一串串du命令直观不少。
iostat命令盯IO压力
如果应用读写很慢,但磁盘空间还够,问题可能出在IO性能上。iostat -x 1 每秒刷新一次,看%util 这一列,这个值接近100%说明磁盘IO已经饱和,程序在排队等磁盘响应,这时候换SSD或者做RAID,比优化代码见效更快。
linux查看服务器网络命令:端口连通与流量排查
网络问题最让人头大,但Linux命令给了我们不少顺手的工具。
查IP地址:老ipconfig退位,ip命令上位
ip addr show 是当前查看IP地址的标准姿势,老命令ifconfig 在多数新系统里已不再默认安装,要只看IPv4地址,可以简写为ip -4 addr。
查端口和连接:ss命令全面替代netstat
ss -tlnp 列出所有监听中的TCP端口和对应的进程名。-t 代表TCP,-l 代表监听状态,-n 跳过DNS解析加速输出,-p 显示进程,想查某个特定端口,可以这样:ss -tlnp | grep 8080,很快就能知道是谁占着8080。
这个场景里,linux查看服务器端口命令 是运维排查问题的第一问,一条ss命令,比telnet和nmap加起来还快。
流量与连通性测试
- ping 域名或IP,测的是网络通不通、延迟高不高。
- curl -I https://example.com 获取HTTP响应头,看网站是否正常返回200状态码。
- mtr 目标IP 是traceroute的增强版,持续检测每一跳路由的丢包率,跨机房网络割接时特别好用。
linux查看服务器信息命令:进程与日志的排查技巧
服务器出故障,一般都能从进程和日志里找到蛛丝马迹。
ps命令捕获静态快照
ps -ef 列出所有进程的PID、父进程PID和启动命令,想找特定服务,可以配合grep:ps -ef | grep nginx,找不到进程时,先确认是不是名字记错了。ps aux 和ps -ef输出略有差异,但都常用,看个人习惯。
systemctl查看服务状态
现代Linux发行版大多用systemd管理服务。systemctl status nginx 显示服务的运行状态、最近日志和PID。systemctl list-units –type=service –state=running 列出所有正在运行的服务,服务器上多了什么奇怪服务,一查便知。
日志排查三板斧
- journalctl -u nginx –since “1 hour ago”:查看某个服务最近一小时的日志,排查故障最高效。
- dmesg | tail -20:查看内核日志的最后20行,OOM(Out Of Memory)时,内核会在这里留下痕迹。
- tail -f /var/log/messages:实时追踪系统日志,注意,CentOS 6看/var/log/messages,CentOS 7以后则统一用journalctl查看。
行业共识认为,掌握这些命令并不需要背,关键是理解每条命令的输出逻辑,命令记不住没关系,man 命令名 随时可以打开手册,或者命令名 –help 快速查看用法,Linux的精髓在于:你永远不需要记住所有东西,只需要知道该去哪里查。
这十来个命令串起来,就是一套完整的服务器体检流程:用uname和lscpu看硬件底子,用free和top看内存压力,用df和du看磁盘水位,用ss和ping看网络状态,最后用journalctl翻旧账,遇到服务器异常,按这个顺序排查,绝大多数问题都能定位到根因。
Q&A:关于linux查看服务器命令的常见疑问
问:linux查看服务器有哪些命令是最常用的?
答:如果只能记五个,那就是uname(系统信息)、free(内存状态)、df(磁盘占用)、ss(端口监听)、ps(运行进程),这五个命令覆盖了服务器最基本的健康检查需求。
问:linux查看服务器ip命令和查看mac地址有什么不同?
答:IP地址是逻辑地址,用于网络路由和定位,随网络环境变化;MAC地址是网卡物理地址,出厂时烧录在硬件上,全球唯一,用ip addr show可以同时看到这两个信息,IP显示在inet后面,MAC显示在link/ether后面。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/687702.html





