首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux服务器产生大量僵尸进程的解决

如何查看Linux系统上的僵尸进程,如何统计有多少僵尸进程? #ps -ef | grep defunct 或者查找状态为Z的进程,Z就是代表zombie process,僵尸进程的意思。...另外使用top命令查看时有一栏为S,如果状态为Z说明它就是僵尸进程。...Tasks:  95 total,  1 running,  94 sleeping,  0 stopped,  1617 zombie top命令中也统计了僵尸进程。...或者使用下面的命令: ps -ef | grep defunct | grep -v grep | wc -l 如何杀死僵尸进程呢? 一般僵尸进程很难直接kill掉,不过您可以kill僵尸爸爸。...父进程死后,僵尸进程成为”孤儿进程”,过继给1号进程init,init始终会负责清理僵尸进程.它产生的所有僵尸进程也跟着消失。

2.5K10

kswapd0进程占用大量cpu

前言 一直在忙,之前一直怀疑机器中马,kswapd0这个进程4核心CPU24小时跑满单核心,简单排查无果,看了 简单处理 Linux 安装杀毒软件 ClamAV 前两天有小伙伴找到杜老师询问是否可以帮忙查杀服务器的木马病毒...这篇文章,安装排查后无果,记得在哪看过kswapd0挖矿病毒;度娘了一下 彻底删除挖矿病毒kswapd0 来源于知乎 各种尝试无果后,因为忙,再加上也没发现破坏数据和对外发包,屏蔽了大量出口IP后也就丢下没管了...排查并解决 直到今天,终于闲下来,使用top命令查看,依旧单个核心100%跑满,真忍不了了,查了下网卡连接ip netstat -antlp 并未发现异常IP,后继续通过ls -l命令查看kswapd0进程是否有软连接...越小尽量会使用物理内存默认值60根据需求修改即可 # 重新启用所有已定义的交换空间 # 也可以说是清理swap centos swapoff -a && swapon -a 到这里再次查看top命令,发现杀不掉的kswapd0进程没了...然而,如果系统的 swappiness 值被设置为 0,即系统倾向于不使用 Swap,但又没有足够的可用内存,这会导致 kswapd0 进程陷入死循环状态。

53410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    crond 引发大量 sendmail 进程的解决办法

    发现问题 这两天看到几台服务器比较异常,平常流量跑满,突然就没有了流量,TCP 连接也没了。于是登录上服务器查看,首先想重启 nginx 服务,结果报错,大致意思就是磁盘空间已满。...read dir; do count=$(find "$dir" -type f | wc -l) echo "$dir : $count" done 找到目标,首要就是先杀掉这里面的大量文件...在其他分区创建空目录: // 杀死所有 sendmail 和 postdrop 进程 ps -e | grep sendmail | cut -d ' ' -f2 | xargs kill ps -e...main.cf 配置文件中,inet_protocols = all 改为 inet_protocols = ipv4 5、 crond 执行的命令最后加上 &> /dev/null via crond 引发大量...sendmail进程的解决办法 - Yun维攻城狮 http://www.89cool.com/411.html Crontab导致Linux文件描述符枯竭-king_wangheng-ChinaUnix

    3.3K20

    记录一则exachk进程占用大量CPU资源

    有Exadata客户在进行exachk巡检之后反馈,发现系统中,exachk进程占用了大量CPU资源。 了解之前的变更,只是巡检之前升级了AHF,然后进行标准的exachk巡检。...现象: 目前机器整体CPU使用率是20%+,但被使用到的具体CPU core基本都是满负荷,都是这些exachk进程,这些进程初步判断的确是有异常,正常不会运行这么久都不结束。...tfactl stop exachk 验证进程是否停止成功: ps -ef|grep exachk 发现进程依然存在。...这样就完成 kill 所有异常exachk进程,CPU使用率也随之恢复正常。 目前tfa服务也保持启动状态,为了后续再观察,如有问题复现再具体分析。...总结: 针对异常的进程可以kill,但是需反复确保要操作kill的进程完全不会影响到正常生产运行。

    59820

    进程服务器

    一、思路 先与客户端建立好连接, 每次监听到一个客户端之后,都需要产生一个子进程去处理这个连接,然后父进程继续去等待监听,唯一一个要注意的点就是要使用信号来监听子进程是否结束,从而对其进行回收,防止僵尸进程的产生...&opt, sizeof(opt)); (3)bind函数 bind(lfd, (struct sockaddr*)&ser_addr, sizeof(ser_addr));b这个函数主要目的就是将服务器的地址结构绑定到套接字...lfd上,所以开始要设置服务器的ser_addr:ser_addr.sin_family = AF_INET, ser_addr.sin_port = htons(8888);ser_addr.sin_addr.s_addr...监听到了客户端后,就要开始创建子进程来对这个监听进行处理;pid = fork() 3、子进程处理通信 因为子进程不需要监听连接,使用可以close(lfd);之后便可以进行通信处理 void do_work...sizeof(buf)); tcp.Write(cfd, buf, n); tcp.Write(STDOUT_FILENO, buf, n); } } 4、父进程回收子进程

    4.7K20

    Nginx服务器进程

    Nginx服务器进程有3类:主进程、工作进程、缓存进程 (1)主进程 Nginx启动时运行的主要进程,主要功能是与外界通信和对内部其他进程进行管理 主要工作内容 1)读取配置文件,验证有效性和正确性...2)建立、绑定、关闭 socket 3)按照配置生成、管理、结束工作进程 4)接收指令,如 重启、升级、退出 5)不中断服务,平滑重启、升级,升级失败的回滚处理 6)开启日志文件,获取文件描述符 (2)...工作进程 由主进程生成,生成数量由配置文件指定,工作进程生存于主进程的整个生命周期 主要工作内容 1)接收请求 2)将请求依次送入各个功能模块进行过滤处理 3)IO调用,获取响应数据 4)与后端服务器通信...,接收后端服务器处理结果 5)数据缓存,访问缓存索引、查询、调用缓存数据 6)发送请求结果 7)接收主进程指令,如 重启、升级、退出 (3)缓存进程 缓存进程有两类 1)缓存索引重建进程 nginx启动后由主进程生成...,在缓存元数据重建完成后就自动退出 该进程启动后,对缓存文件的目录结构扫描,在内存中建立索引元数据库 2)缓存索引管理进程 生存于主进程的整个生命周期 负责在索引元数据更新完成后,对元数据是否过期进行判断

    4.4K40

    一次 Docker 容器内大量僵尸进程排查分析

    什么情况下会出现僵尸进程、孤儿进程 Puppeteer 工作过程启动的进程与线上事故分析 PID 为 1 的进程有什么特殊的地方 为什么 node/npm 不应该作为镜像中 PID 为 1 的进程 为什么...系统中每个进程都有对应的父进程,上面 ps 输出中的 PPID 就表示进程的父进程号。最顶层的进程的 PID 为 1,PPID 为 0。...对应于进程,父进程退出时,子进程会继续运行,不会一起共赴黄泉。 一个父进程已经终止的进程被称为孤儿进程(orphan process)。...28:40.65 /sbin/launchd init 进程有下面这几个功能 如果一个进程的父进程退出了,那么这个 init 进程便会接管这个孤儿进程。...如果一个进程的父进程未执行 wait/waitpid 就退出了,init 进程会接管子进程并自动调用 wait 方法,从而保证系统中的僵尸进程可以被移除。 传递信号给子进程,这点后面会介绍。

    1.7K40

    故障分析 | 大量短时进程导致 cpu 负载过高案例一则

    [renkun0524-4.png] 确实有大量mongo调用,但是API命名不直观,无法猜测对应的执行逻辑。...回到本文开头,top进程的cpu利用率加起来远远小于cpu总体负载,大概率是有频繁短时进程偷走了这部分CPU资源,导致top命令来不及捕获统计。...sar -w 1 查看每秒生成的进程数,平均每秒新建80多个进程,应该就是它了。...[renkun0524-5.png] 要抓出频繁建立短时进程的应用,可以采用execsnoop,该工具通过 ftrace 实时监控进程的 exec() 行为,并输出短时进程的基本信息, 包括进程 PID...3、小结 当机器cpu负载持续高涨却抓取不到top进程时,可以采用execsnoop抓取短时进程,类似工具还有iosnoop、opensnoop。

    79840

    进程TCP并发服务器

    进程TCP并发服务器 最初的服务器都是迭代服务器服务器处理完一个客户的请求,再接受下一个客户的请求。但是我们的期望应该是一台服务器同时为多个客户服务。...实现并发服务器最简单的办法就是为每个客户均fork一个子进程。...[accept返回后客户-服务器的状态] 并发服务器的下一步是调用fork,下图是从fork返回后的状态。此时描述字listenfd和connfd是父进程-子进程共享的。...[fork返回后客户-服务器的状态] 下一步是父进程关闭已连接套接口,子进程关闭监听套接口。...[父子进程关闭相应套接口后客户-服务器的状态] 最后的结果是子进程处理与客户的连接,父进程可对监听套接口调用accept来处理下一个连接。

    5.9K90

    服务器被入侵,异常进程无法杀掉,随机进程

    故事情节: 有一天在聚餐中,我有一个朋友和我说他的服务器上有有个异常的进程他一直在占满CPU在运行,我在一顿谦虚之后答应了他,有空登录上他的服务器看一下具体情况。...就是以上三张图,在proc目录中的exe指向的文件已被删除,我看到这里,我好奇这个进程肯定是被隐藏掉了。这时,我急中生智跟这位朋友要了root账号密码。...登录服务器用top命令一看,发现一个奇怪的进程在运行,我使用kill命令将其杀后,等了十来分钟后,发现没有被启动,这时我和这位朋友说干掉了,他问我是不是kill掉了,我说嗯,他又补充到,这个进程杀掉过段时间会起来的...没过多久,我又看了一下,发现这个进程换了个名字又启动了。...还干满了CPU,就在这时,我在研究这个进程运行文件的时候发现: 这个进程会连到一个韩国的服务器上,我访问这个IP发现是一个正常的网站,没有异常情况。

    11.2K40

    python 进程间通信(四) -- 共享内存与服务器进程

    进程间通信(三) — 进程同步原语及管道与队列 回顾操作系统所提供的所有进程间通信方式的系统调用,我们会发现还有两种进程间通信方式我们还没有介绍:共享内存与域套接字,本文我们就来介绍这剩下的几种 IPC...但 Python 的 multiprocessing 包中仍然提供了两种方法让你可以在多进程环境下共享数据: 共享内存 服务器进程 3....服务器进程 — server process python 提供了一种十分类似共享内存的数据共享机制 — 服务器进程。...通过 multiprocessing 包中的 Manager 类可以构造一个服务器进程对象,他支持用于进程间共享的多种数据类型: list dict Namespace Lock RLock Semaphore...BoundedSemaphore Condition Event Barrier Queue Value Array 一旦创建,对象的使用与原生类型的用法是完全相同的,因此相比于共享内存,服务器进程的使用更为简单和灵活

    4.4K20
    领券