系統訪問服務器一直在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讓參數生效。

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