如何查找僵尸进程

在linux系统中,进程有如下几种状态: D = 不可中断的休眠 I = 空闲 R = 运行中 S = 休眠 T = 被调度信号终止 t = 被调试器终止 Z = 僵尸状态 可通过top命令来查看系统进程和它的当前状态。 通过如下ps命令就可以列举僵尸进程,得到它们的进程 ID ps ux | awk ‘{if($8==”Z”) print}’ ps ux 命令输出的第 8 列显示了进程状态。上述命令将会打印所有处在 Z+ 状态(表示僵尸状态)的进程。 或者通过如下命令查看僵尸进程: ps -ef | grep defunct 要想成功杀死僵尸进程,需要对其父进程执行kill命令,第四列是父进程的PID,第十列是子进程状态(显然您要查找处于Z状态的PID),第十三列是子进程。使用第四列中的父进程PID,现在可以杀死父进程,它的僵尸子进程也将消失。除非父PID为1,在这种情况下需要重新启动。 ps -xal | awk ‘{ print $4 ” ” $10 ” ” $13 }’ | sort -n

Linux Crontab列表无故被清空原因分析

一 问题排查 问题描述:生产环境一台服务器重启后,发现应用模块没有自动启动,检查发现crontab列表为空。 1.1 通过关键字REPLACE、DELETE搜索crontab运行日志,查看crontab列表被清空时间: egrep ‘REPLACE|DELETE’ /var/log/cron 1.2 通过history命令查看历史操作,确认有无执行编辑crontab –e、删除crontab –r等操作。 二 问题复现 2.1 可能原因分析: 使用ssh命令执行能卡住crontab的命令,如crontab 或 crontab –等,然后直接关闭crt窗口会触发crontab的REPLACE动作(按ctrl+d也会触发REPLACE动作),导致crontab列表被清空。 具体原理不明,可能是crontab的设计使然,在后续的版本中也可能修复这个问题。 2.2 模拟环境复现: 操作系统版本:Red Hat Enterprise Linux Server release 7.6 (Maipo) 再连接并执行crontab -l检查crontab列表,发现被清空;crontab运行日志中有关键字REPLACE,问题复现成功。 三 总结 3.1 定期备份crontab列表,列表被清空时可从备份恢复。 3.2 不要误操作(如输入crontab命令不加参数、crontab -r等);发现没有反应后,不要误退出(如按ctrl+d)、误断开(如直接关闭crt窗口),正确的方法应该是按ctrl+c退出。

NAS性能测试

性能测试前,请注意以下事项 : (1)吞吐最大不会超过服务器内网带宽,如果内网带宽太小,则吞吐会被流量控制。 例如,您的NAS文件系统,其初始读带宽为150 MB/s。如果您的服务器内网带宽为100 Mbps,则吞吐最大可达12.5 MB/s,如果要测试达到150 MB/s,则需要至少12台服务器进行测试。 如果您的服务器内网带宽为1Gbps,则吞吐最大可达到125 MB/s,如果要测试达到150 MB/s,则需要至少2台服务器进行测试。 (2)在Linux操作系统中,NFS客户端对于同时发起的NFS请求数量进行了控制,默认编译的内核中此参数值为2,严重影响性能。请在安装NFS客户端后,修改同时发起的NFS请求数量,提高NFS性能。 操作步骤: 1.安装FIO测试工具 yum install fio 2.运行性能测试命令 在单台Linux 服务器中执行以下命令测试性能。 随机读IOPS: fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randread -bs=4K -size=1G -time_based -runtime=60 -name=Fio -directory=/mnt 随机写IOPS: fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randwrite -bs=4K -size=1G -time_based -runtime=60 -name=Fio -directory=/mnt 附: 如何修改同时发起的NFS请求数量 NFS客户端对同时发起的NFS请求数量进行了控制,默认编译的内核中此参数值为2,严重影响性能,建议您将该参数值修改为128。 1.安装NFS客户端。 2.执行以下命令,将同时发起的NFS请求数量修改为128。 echo “options … Read more