系统访问服务器一直在loading -如何查看系统状态(排查系统卡顿)

在开发环境下遇到访问服务器一直在loading得不到响应时应该如何排查

首先在确定代码都没问题的前提下,

在浏览器访问服务器的时候F12查看network状态一直在pending

一般这种时候就可能有排查系统四个地方是否有问题

1.网络,2.内存,3 cpu, 4 磁盘

一般windows查看这个四个可以直接在任务管理器里面查看了

linux系统的话就要使用命令查看了

首先查看cpu使用情况

直接 top 然后回车

然后同时按下 shift + m键可以从小到大排序

可以看到红色区域 分别是全部、已用、可用

如果可用为0的话肯定是系统问题

然后再查看是什么进程占用了cpu资源 白线下面最后一列有列出每个进程分别占用的大小

然后 netstat -anop 查看网络连接状态

也可以用 

netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

查看当前监听的、连接的、等待的个数

如果出现上千上万的连接信息肯定是某个程序在不停的调用当前系统

listen表示监听 time_wait 表示等待,establesheb可用 

出现大量的time_wait 可能是程序没有清除干净

然后

使用命令:vi /etc/sysctl.conf

编辑文件,加入以下内容:
net.ipv4.tcp_syncookies = 1  (某些情况下该参数已启用)
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30

然后执行/sbin/sysctl -p让参数生效。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章