atop工具介绍及使用

前言 最近出现了服务器cpu、内存升高导致服务器宕机的问题,发生宕机后,往往由于对系统资源数据收集的不齐全,导致无法快速查明发生宕机的原因。在通过云厂商客服和网络相关资料帮助下,了解了 atop 这个工具,本机对 atop 的安装及使用进行介绍。 atop 介绍 atop 是一款用于监控 Linux 系统资源与进程的工具,能够报告所有进程的活动。其以一定的频率记录系统和进程活动,采集的数据包含 CPU、内存、磁盘、网络的资源使用情况和进程运行情况,并能以日志文件的方式保存在磁盘中。对于每个进程,会显示CPU使用率、内存增长、磁盘使用率、优先级、用户名、状态和退出码等。当服务器出现问题后,可以根据相应的atop日志文件进行分析。 安装 atop 不是系统的内部自带命令,需要进行安装,接下来以 Ubuntu 系统为例子,介绍如何安装 atop 命令。 1 更新软件源 执行 sudo apt update 进行软件源的更新。 2 安装 atop 执行 sudo apt install atop 命令安装 atop。 配置 安装完 atop 后,可以使用 atop 的默认配置使用,也可根据使用情况修改默认配置,atop 默认配置在 /etc/sysconfig/atop,查看默认配置文件内容: # /etc/default/atop # see man atoprc for more possibilities to configure atop execution LOGOPTS="-R" LOGINTERVAL=600 LOGGENERATIONS=28 LOGPATH=/var/log/atop LOGINTERVAL 是监控周期,默认600s,LOGGENERATIONS是日志文件保留周期,默认是28天,可以根据具体的需求进行修改。 使用 命令行输入 atop 命令即可使用,可以看到分为2块,上部是系统资源的使用情况,下部是没个进程的使用情况。 ...

三月 2, 2024 · overstarry

Kswapd0 is consuming a lot of CPU.

Issue Recently, a Linux server has been experiencing high CPU usage, causing the server to become unresponsive and other processes to fail to execute smoothly. By using the top command to check resource usage, it can be seen that the kswapd0 process is consuming a large amount of CPU resources. Cause and solution Based on my research, the kswapd0 process is responsible for managing virtual memory. Typically, a Linux system comprises RAM, swap, and EXT4 components. The EXT4 partition is used to store regular files and can be created on either an HDD or an SSD, though it is relatively slower compared to RAM. RAM, commonly referred to as memory, is used for high-speed program execution. The swap partition, on the other hand, is used as additional virtual memory and is normally allocated on physical disks, especially on machines with limited physical RAM. ...

四月 9, 2022 · overstarry

Kswapd0消耗大量cpu

问题 最近一台 Linux 服务器经常出现 cpu 过高,导致服务器卡顿,其他进程不能顺利进行。通过 top 命令查看资源的占用情况,可以看到 Kswapd0 进程 消耗了大量的 cpu 资源。 原因及解决 通过搜索得知,Kswapd0 进程是用来管理虚拟内存的。 一般的 Linux 都会有 RAM,swap, 和 EXT4 这几个部分,EXT4 分区就是用来存放一般的文件,可以在机械硬盘或者 SSD 上划分出 ext4 分区来保存文件,相对 RAM(内存)来说要稍微慢一些,RAM 就是日常所说的内存,用来做程序运行时的高速缓存,而 SWAP 是交换分区,一般在物理内存比较小的机器上会划分一块物理磁盘来作为 swap 分区。 swap 分区是一款虚拟的 RAM,一般在 HDD/SSD 上,当物理内存比较小的时侯,可能经常缺内存,那么系统就会使用 swap 分区,将物理内存中的内容搬迁到 swap 分区中暂存。当可用物理内存比较小的时候,kswapd0 进程就会将相对比较不常用的程序移动到 swap 分区中,这个时候就可能造成这些程序比较卡顿。例如一台机器的内存是 4G,而要运行一个需要 5G 内存的程序,那么至少有 1G 的内存会放到 swap 分区中。kswapd0 移动内存的过程就会造成 CPU 的大量使用。要解决这个问题有这样几个方式。 1 修改 /etc/sysctl.conf 文件 echo vm.swappiness=0 | sudo tee -a /etc/sysctl.conf 这里 0 表示物理内存还剩余的百分比,这个值的取值范围是 0-100,配置 0 也就意味着只有当没有物理内存可用时再执行 kswapd0. ...

四月 9, 2022 · overstarry

Fsck

起因 在一次使用虚拟机的时候,发现 Linux 系统进入了 Initramfs,无法正常进入系统, 推测可能是系统异常关机导致磁盘文件损坏导致的。 解决 网上搜寻了一些解决方法,普遍的推荐方法是使用 Linux 命令 fsck 命令来修复磁盘文件。 费了好大劲进入另一个系统使用 fsck.ext4 -f /dev/sda1 来检查修复磁盘文件(我所使用的linux 系统磁盘是ext4格式的)。 接下来我来介绍下 fsck 的使用。 fsck fsck(file system consistency check)是Unix和类Unix系统上用于检查文件系统完整性的工具. 语法: fsck [选项] [文件系统] 常见参数: -f 强制检查文件系统,不管是否有损坏 -p 自动修复文件系统错误 -q 做一个快速检查,以确定文件系统是否被干净地卸载。 -y 关闭互动模式,询问全部选择 y 参考 https://web.archive.org/web/20150529001726/http://www.manpagez.com/man/8/fsck/ https://zh.wikipedia.org/zh-hans/Fsck https://zh.wikipedia.org/wiki/Unix%E5%AE%9E%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%88%97%E8%A1%A8

二月 19, 2022 · overstarry