服务器查看是运维和管理工作的核心环节,通过系统化监控和分析,可及时发现潜在问题、优化性能、保障服务稳定运行,以下从多个维度详细说明服务器查看的方法及常用工具。
基本信息查看
服务器基本信息包括系统版本、硬件配置、网络参数等,是运维的基础。
Linux系统
- 系统版本:通过
cat /etc/os-release
查看发行版信息(如Ubuntu、CentOS),uname -a
显示内核版本及系统架构。 - 硬件配置:
lscpu
查看CPU型号、核心数;free -h
查看内存总量及使用情况;df -h
查看磁盘分区及剩余空间;lspci
查看PCI设备(如网卡、显卡)。 - 网络参数:
ip addr
或ifconfig
查看网卡IP、子网掩码;route -n
查看路由表;cat /etc/resolv.conf
查看DNS配置。
Windows系统
- 系统版本:
systeminfo | findstr /B /C:"OS Name"
或通过“控制面板→系统”查看。 - 硬件配置:
wmic cpu get name
查看CPU型号;wmic OS get TotalVisibleMemorySize,FreePhysicalMemory
查看内存(单位为MB);wmic logicaldisk get size,freespace
查看磁盘容量。 - 网络参数:
ipconfig /all
查看详细网络配置(IP、MAC、DNS);route print
查看路由表;nslookup 域名
测试DNS解析。
系统资源监控
实时监控CPU、内存、磁盘I/O、网络等资源使用率,是性能优化的关键。
Linux工具
- CPU/内存监控:
top
动态显示进程资源占用,按P
按CPU排序、M
按内存排序;htop
(需安装)以彩色界面展示,更直观;vmstat 1
每秒输出一次内存、CPU、I/O统计。 - 磁盘I/O监控:
iostat -dx 1
显示磁盘每秒读写次数(iops)、等待时间等;iotop
(需安装)实时显示各进程I/O占用。 - 网络流量监控:
nload
实时显示网卡进出带宽;iftop
(需安装)按连接查看流量占用;sar -n DEV 1
统计网络设备吞吐量。
Windows工具
- 任务管理器:
Ctrl+Shift+Esc
打开,可查看CPU、内存、磁盘、网络的实时及历史占用,支持按进程排序。 - 性能监视器:
perfmon
打开,通过“计数器”添加CPU(%Processor Time)、内存(Available MBytes)、磁盘(Disk Queue Length)等指标,生成性能报告。 - 资源监视器:
resmon
打开,可查看进程级别的CPU、内存、磁盘、网络详细占用。
服务与进程管理
检查服务运行状态、异常进程,是保障业务可用性的核心。
Linux系统
- 服务状态:
systemctl status 服务名
(如nginx、mysql)查看服务是否运行;systemctl --failed
查看失败的服务。 - 进程监控:
ps aux
查看所有进程,结合grep
过滤(如ps aux | grep nginx
);pgrep 服务名
查看进程ID(PID);kill -9 PID
强制终止异常进程。
Windows系统
- 服务状态:
sc query 服务名
(如“MySQL80”)查看服务状态;services.msc
打开服务管理器,可视化启停服务。 - 进程监控:
tasklist
查看所有进程;tasklist /svc
查看进程关联的服务;taskkill /F /PID 进程ID
强制终止进程。
日志分析
日志是排查故障的重要依据,需重点关注系统日志、应用日志、安全日志。
Linux系统
- 系统日志:
/var/log/syslog
(Ubuntu)或/var/log/messages
(CentOS)记录系统运行信息;journalctl -u 服务名 --since today
查看指定服务当日日志。 - 日志过滤:通过
grep
、awk
提取关键信息,如grep "ERROR" /var/log/nginx/error.log
查看错误日志。
Windows系统
- 事件查看器:
eventvwr.msc
打开,分类查看“应用程序”“系统”“安全”日志,支持按事件类型(错误、警告)筛选。 - PowerShell日志:
Get-EventLog -LogName Application -After (Get-Date).AddDays(-1)
获取最近1天的应用日志。
网络状态检查
通过端口监听、连接状态、路由跟踪等,排查网络问题。
Linux/Windows通用
- 端口监听:Linux用
netstat -tuln
或ss -tuln
查看监听端口;Windows用netstat -anob
查看端口及关联进程。 - 连接状态:
netstat -an | grep ESTABLISHED
查看已建立的TCP连接;ss -s
(Linux)统计连接总数。 - 路由跟踪:Linux用
traceroute 目标IP
;Windows用tracert 目标IP
,查看数据包传输路径及延迟。
常用命令对比表
功能类别 | Linux命令/工具 | Windows命令/工具 |
---|---|---|
系统版本 | cat /etc/os-release |
systeminfo |
CPU使用率 | top /htop |
任务管理器/perfmon |
内存使用情况 | free -h |
wmic OS get FreePhysicalMemory |
磁盘空间 | df -h |
wmic logicaldisk get freespace |
网络IP配置 | ip addr |
ipconfig |
服务状态 | systemctl status 服务名 |
sc query 服务名 |
端口监听 | netstat -tuln |
netstat -anob |
日志查看 | journalctl /grep |
事件查看器/eventvwr.msc |
FAQs
Q1:如何查看服务器上某个端口被哪个进程占用?
- Linux:使用
lsof -i:端口号
(如lsof -i:8080
),或netstat -tuln | grep 端口号
结合ps aux | grep PID
定位进程。 - Windows:通过
netstat -anob | grep 端口号
,或打开任务管理器→“性能”→“打开资源监视器”→“网络”查看端口占用进程。
Q2:服务器CPU使用率持续100%如何排查?
- 定位高CPU进程:Linux用
top
按P
排序,Windows用任务管理器按CPU占用排序,找到异常进程PID。 - 分析进程行为:Linux用
strace -p PID
跟踪系统调用,Windows用“性能监视器”分析线程CPU占用。 - 检查业务逻辑:若为业务进程,检查是否有死循环、SQL慢查询、大流量请求等,结合日志(如Nginx访问日志、应用日志)定位具体问题。
- 终止或优化:若为异常进程(如挖矿程序),立即终止;若为正常业务,考虑优化代码或扩容。
通过以上方法,可全面掌握服务器运行状态,及时发现问题并处理,确保服务器稳定高效运行。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/37695.html