注册网站的好处,深圳制作网站公司哪里好,浏览器网址导航大全,wordpress如何检测加载缓慢的原因事情起因
部署一个服务#xff0c;人家说了最低配置是3G#xff0c;我没当回事#xff0c;拿着个2G的服务器直接就上了#xff0c;结果#xff0c;哈哈#xff0c;都能猜到结果#xff1a;服务器内存爆了#xff01;#xff01;#xff01;而且最可气的是服务器还登…事情起因
部署一个服务人家说了最低配置是3G我没当回事拿着个2G的服务器直接就上了结果哈哈都能猜到结果服务器内存爆了而且最可气的是服务器还登不进去重启之后内马上又被拉满了根本连接进不去。算是一次小小的事故记录是为了不再犯同样的错误。
排查根因
上面说到内存爆满重启后短时间继续爆满排查的问题的时间很有限要快速定位到问题。其实我想到了有服务在开机后自动重启并且迅速拉起了其他子进程导致。本来给个3G的内存啥事也没有本地测试都过了的奈何云服务器就那么点资源而且当时买的时候也没考虑那么多。
解决问题
针对以上猜想查询一下最占用内存的都是哪些进程 ps aux|head -1;ps aux|grep -v PID|sort -rn -k 4|head 果然有一个进程52.6%就是它了kill掉。 结果很快内存又满了再次重启发现有两个用户git和gitlab占用最高于是把这个用户的所有进程都干掉 pkill -u git 或者 killall -u git 好了暂时没有问题了于是很满意地吃饭去了。之后我想着那不要再重启一次吧果然不出我所料重启后又爆了。我仔细想了想刚刚坏之前执行过什么命令应该就是它导致的是的就是gitlab-ctl这个主控进程一直在自动拉起其他子进程本来内存要求就不够自然会爆掉。 gitlab-ctl stop 一大推子进程被停掉了还是不放心于是禁止这个程序开机自启 systemctl disable gitlab-runsvdir.service 至此问题圆满解决。
反思总结
1、别人给的配置不是乱给的最小配置一定是经过测试的毕竟寸‘土’寸金这一点不用质疑 2、赶快给服务器装上监控不要再裸机跑了配置上必要的告警及时知道资源的监控状况 3、不要随便使用root用户操作如果今天这个进程是root运行的那估计很难救了在没查清楚是哪个进程之前你总不能把root下的所有进程都kill了吧 4、虽然只是个人服务器上的一次小小事故但是同样适用于生产请谨慎操作对自己也对他人负责 5、最后把今天用到的linux命令再次做一个梳理吧
kill某个用户下的所有进程的命令四种方式
pkill -u git
killall -u git
pgrep -u git | xargs kill -s 9# cut -c 9-15都是为了拿到pid也可以用awk {print $2} 替换
ps -ef | grep git | grep -v grep | cut -c 9-15 | xargs kill -s 9
ps -ef | grep git | grep -v grep | awk {print $2} | xargs kill -s 9查看占用资源最大的进程
# 4表示的是内存cpu则3
ps aux|head -1;ps aux|grep -v PID|sort -rn -k 4|headps aux --sort -rss | head方法不止一种第一先解决问题第二再慢慢积累。
转关于资源占用的更多骚操作。
共勉。