运维排查篇 大量后台进程占用CPU资源怎么办?_linux服务器cpu被bash服务占满

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

今天早上打开虚拟机终端,发现一直有进程往我的 1.txt 文件里写东西,删除之后又重新生成

而且 1.txt 大小已经五百多M了

使用 top 命令查看一下,发现用户态cpu使用率已经达到百分之 60,而且都是 bash 进程在占用 cpu资源

定位问题

依稀记得我在前一天晚上执行了一些命令,如下

while true; do sleep 1 &&  (time echo hello) >> 1.txt 2>&1; done &

这条命令意思是每间隔一秒,将 time echo hello 输出的内容重定向到 1.txt 文件中,& 是放在后台执行的意思

然后使用 history 工具查看一下历史命令,发现我昨晚敲了不止一条!

请添加图片描述

一般来讲我们后台执行的进程可以通过 jobs 命令来查看

但是我敲 jobs 没有任何输出,这是为什么呢?

原来 jobs 命令只能查看当前终端后台运行命令 ,如果终端关闭之后再重新打开是无法看到的

由于我昨晚关闭了终端,所以今天重新打开终端敲 jobs 命令没有显示

解决问题

既然知道了是我昨晚敲的命令放在了后台执行且没有及时kill掉

导致这些后台进程一直往我的文件里写东西,消耗了大量的资源

那么我只需要将这些后台进程全部kill掉就行

使用 ps 命令查看一下相关进程

ps -ef | grep 1.txt

发现没有任何输出,我们过滤其他字段看看

[root@localhost ~]# ps -ef | grep bash
root      51387  51357  0 15:58 pts/0    00:00:00 -bash
root      51391  51357  0 15:58 pts/0    00:00:00 -bash
root      51395  51357  0 15:58 pts/0    00:00:00 -bash
root      51401  51357  0 15:58 pts/0    00:00:00 -bash
root      51357  51353  0 15:58 pts/0    00:00:00 -bash
root      52191  51451  0 15:58 pts/0    00:00:00 grep --color=auto bash

发现有多个 bash 进程,我们知道,这些 bash 进程里面除了有上面敲的bash命令产生的后台进程,还有一个就是 bash 父进程

我们知道,shell 提供了用户与系统内核进行交互的一种接口,它能够接收用户输入的命令并把它们送到内核去执行,简单来讲 shell 就是一个命令解释器

在 linux 系统里有许多 shell,默认的都是 bash(Bourne Again shell),我们每开启一个终端时就会创建一个 bash 父进程,这个 bash 父进程负责把我们在终端输入的命令传送到内核,让我们能够与内核进行交互

你接下来执行的命令都是这个 bash 进程的子进程,因为它是大部分命令行启动的程序的父进程

所以说我们不能够将过滤出的 bash 进程全部 kill 掉,因为其中就有一个是 bash 父进程

我们知道,打开终端后敲的 bash 命令都是由 bash 父进程 fork 出一个个子进程去执行的,既然是父子关系,我们可以使用 pstree 工具来查看

pstree

pstree 命令是用于查看进程树之间的关系,即哪个进程是父进程,哪个是子进程

我列出几个比较常用的参数:

-A:各进程树之间的连接以ASCII码字符来连接
-U:各进程树之间的连接以utf8字符来连接,某些终端可能会有错误
-p:同时列出每个进程的PID
-u:同时列出每个进程的所属账号名称

我们执行pstree命令来查看一下进程树

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值