1.1 准备:确保有root或sudo权限、SSH访问(ssh user@ip),并记录服务商控制台账号。
1.2 工具安装:安装常用诊断工具:apt install -y htop iotop sysstat traceroute mtr iftop tcpdump iperf3(CentOS用yum/dnf)。
2.1 CPU/内存:运行 htop 或 top -b -n1,定位占用高的进程:ps aux --sort=-%cpu | head。
2.2 磁盘:查看挂载与空间:df -h,定位大文件:du -sh /* | sort -hr | head,inode检查:df -i。
3.1 基本连通:用 ping -c 10 IP 和 mtr -rw IP 判定丢包与跳数。
3.2 深入抓包:低层问题用 tcpdump -i eth0 host 客户端IP and port 80 -w /tmp/cap.pcap,回传到本地用Wireshark分析。
3.3 带宽测试:在两端分别运行 iperf3 -s 与 iperf3 -c IP -P 4。若延迟高,联系带宽提供商或更换节点。
4.1 Nginx:查看状态 systemctl status nginx,错误日志 tail -n 200 /var/log/nginx/error.log,平滑重载 nginx -s reload。

4.2 MySQL:慢查询与连接数:mysqladmin status、开启慢查询并分析 mysqldumpslow -s t /var/log/mysql/slow.log,调整 max_connections。
5.1 指标采集:在VPS安装 node_exporter,配置 Prometheus 抓取 targets,示例:scrape_configs。
5.2 可视化与告警:在Grafana建立仪表盘,Prometheus Alertmanager 配置阈值(CPU>85% 5min、disk>90%),通过邮件/钉钉告警。
6.1 CPU持续高:查进程 ps aux --sort=-%cpu,若为单服务,先重启服务 systemctl restart 服务名,必要时用 renice -n 10 PID 或临时扩容CPU。
6.2 磁盘满:清理日志 logrotate、删除临时大文件、扩容或挂载远程存储;若inode耗尽,删除小文件或归档。
6.3 网络抖动或大流量:启用 fail2ban、设置 iptables 限速(如 SYN 限制)、联系机房做上游清洗或启用云端防护。
7.1 简单重启脚本样例:#!/bin/bash; systemctl is-active --quiet nginx || systemctl restart nginx,放入crontab每5分钟检查。
7.2 更高级:使用Zabbix/Nagios监控触发脚本,通过Webhook调用运维群或自动工单触发。
问:我在昆明访问台湾VPS延迟或丢包,是本地网络问题还是VPS端问题?
答:先分别从本地和第三方节点(例如云测点)对VPS做mtr和ping。若本地和第三方都丢包,问题在VPS或上游;若只有本地有,检查ISP或路由;用traceroute定位丢包跃点并联系对应带宽商。
问:遇到短时间内CPU或内存激增,服务响应慢或卡死,该怎么办?
答:立即用top/htop定位进程,记录PID与命令(ps -fp PID),先尝试优雅重启服务(systemctl restart),必要时杀死僵尸进程(kill -9 PID)。排查原因:检查应用日志、慢查询、缓存穿透;若频繁发生,做水平扩容或优化代码/配置。
问:VPS被大量流量打满如何防护?
答:第一层用iptables/nftables做速率限制和黑名单,启用fail2ban阻断异常请求;第二层与提供商协商流量清洗或用云WAF/CDN(如接入Cloudflare/阿里云CDN);长期策略是限流、缓存和弹性扩容。