无论是开发人员还是运维人员,在程序运行的过程中肯定会遇到各种各样的花式问题,我个人觉得程序出问题就像人生病一样,人生病的时候会从身体上表现出来,程序出问题也会从操作系统上表现出来。
1、服务卡死了
场景:运行运维工程师需要掌握什么技能一直很稳定的服务,突然CPU阿里众包占用100%
处理:
(1)首先尝试重启进程
查看进程PID:
ps -ef | grep XXXX
终止进程:
kill [进程PID]
查看终止结果:
ps -ef | grep [进程PID]
(2)多次重试,无法终止
(3)强制终止
强制终止:
kill -9 [进程PID]
查看终止结果:
ps -ef | grep [进程PID]
(4)启动进程
发现找不到启动文原理图怎么生成pcb件,原来被运维小哥手滑删了,导致进程还在,程序文件没了,重新上传并启动。
2、是谁抢了我的内存
场景:16G的云服务器内存报警,上运维工程师需要掌握什么技能面运行了4个javjava环境变量配置a进程,需要定位是哪个服务占用了大量内存。
处理:
(1)top指令查看内存占用情况,在top界面中,查看每个进程的RES(常驻内存)的值找到内存占用大户
(2)如果是java应用,可能在COMMAND一列只显示java,无法定位云服务器搭建ftp是哪个java应用
(3)通过nginx负载均衡top运维宝界面得到进程PID,在利用ps指令定位是哪一个应用。
ps -ef |云服务器设置ftp grep [进程PID]
3、ec命令方块指令代码大全ho的一种应用——清空被程序占用的日志文件
场景:tomcat的catalcpu使用率100怎么办ina.out云服务器ftp、nginx的会话日志等由于没做好分割配置导致磁盘写满。
有时候发现,有一些程序会占用正在读写的日志文件,如果强制删除可能会产生奇怪的问题。我遇见过的情况有强制删除后不在程序产生日志文件,或者强制删除后命令方块指令不释放磁盘空间等。需要重启服务才能解决,很多线上服务是不允许轻易重启的。遇到这种情况,可以通echo指令写个空,覆盖原来日志文件。
echo '' > catalina.out
以上只是很简单的3个场景,仅用于给新nginx反向代理手一个抛砖引玉,很多刚开始接触Linux的同学可能只是将其用作运行程序的载体,不会深入去研究更多的细节,所以一般不会去看市面上那些几百页的教程,而原理是什么意思网上搜集的零散信息又不成体系,所以我觉得阿里推出的云起实验室正好弥补了这个问题,稍微有些基础的人可以用不到1个小时的时间把文件管理、文本操作命令行窗口怎么打开、系统管理、磁盘管理等方面搞明白原理图。后期我运维工程师需要掌握什么技能个人希望云起实验室增加Linux的权限、安全管理相关的内容,这些在开发阶段可能没什么用,但是在产品上线后,无论是在稳定运行还是安全合规方面都是问题的重灾区。
发表评论