当前位置:首页 > CN2资讯 > 正文内容

linux iotop 参数 linux ops

2天前CN2资讯


导读:今天,Linux 内核管理已经成为现代计算机领域中不可或缺的一部分。然而,由于问题复杂多样,解决起来也需要更加专业的知识和经验。而且,由于各种运维工具分散、入口不统一、管理不系统,部分工具参数和子命令数量庞大,对于普通运维人员使用来说非常困难。

为了提高运维效率,OpenCloudOS 运维工具 SIG 开发了 oc-ops,作为一款一站式 OS 运维工具集,它可以帮助用户更好地统一、系统地管理运维工具,并提升相关问题的定位效率。本文将详细介绍 oc-ops 的功能和优势,让读者更全面地了解这个工具集的重要性。

一、开发背景

在管理 Linux 内核时,开发者常常面临着很多问题,比如定位 TCP 协议栈中导致数据包丢失的环节,这些问题可能需要专业的知识和经验才能解决。还有些场景缺乏必要的工具来解决问题,甚至有时即使有相应的工具,也很难使用。

另外一个问题是,运维工具分散、入口不统一、管理不系统,没有一个工具或平台能够为所有的问题提供解决方案,并且没有统一的入口或集中的方式来使用和管理这些工具。

例如,blktrace、blkparse 和 btt 等磁盘 IO 监测工具生成的数据量巨大,人工从中找出超过时间阈值的 IO 请求非常耗时。部分工具的参数和子命令数量达到数百个,对于普通的运维人员来说学习使用需要花费大量的时间。

为了解决这些问题,OpenCloudOS 运维工具 SIG 开发了一款一站式 OS 运维工具集——oc-ops,它将开发和运维人员的专业知识通过工具进行固化和传承,并自主研发了一些子命令来补全相关工具。

oc-ops 可以帮助统一、系统地管理运维工具,从而提高运维效率。无论你是 Linux 开发人员,还是系统管理员,oc-ops 都可以帮助你更高效地解决各种问题。

二、oc-ops 语法格式

1、基本语法格式

Usage: oc-ops [opt] [opt] [cmdargs]

oc-ops [opt] 支持的参数:

oc-ops -h:查看 oc-ops 用法,将列出 oc-ops 支持的所有 subcmd。 oc-ops -v:查看 oc-ops 的版本号。 oc-ops -d:以调试模式运行 oc-ops,方便 oc-ops 命令自身问题的定位。为便于使用、使 oc-ops 易于上手,oc-ops 采用如下策略:

  • 支持 tab 键自动扩展/补全的功能。
  • 限制子命令参数的个数,尽量采用自然语言替代参数(利用上面的自动扩展加快输入速度)。
  • 命令级数暂时限定在 4 级。

2、子命令用法

通过 oc-ops -h,可查看每个子功能的具体用法。

三、oc-ops 已支持工具简介

1、oc-ops 现状

oc-ops 的命令在持续开发中,使用前建议通过:yum install -y opencloudos-tools 安装/升级opencloudos-tools 包,以便安装/更新到最新的版本。

oc-ops 当前完成开发的子命令如下:

  • oc-ops mem checkcost
  • oc-ops io latency
  • oc-ops cpu irq latency

2、oc-ops mem chechcost

功能:诊断内存消耗情况,判断哪个/多个领域导致内存消耗增加,并给出下一步定位建议。领域白名单为:Buffers/Cached、AnonPages、Shmem、Slab、Vmalloc、HugePages。

  • 如果是 Buffers/Cached 内存消耗增加,则建议执行:oc-ops mem checkcost -d ,清空缓存后重新统计。
  • 如果是 AnonPages 内存消耗增加,将各进程按消耗内存的大小进行排序输出。(用户态业务进程的内存泄露需由业务定位)
  • 如果是 Shmem 内存消耗增加,将自动扫描是否有哪个内存文件系统耗用内存过多。
  • 如果是 Slab 内存消耗增加,将输出 slabtop 信息,并建议用户执行:oc-ops mem kernelleak,进行内存泄露检测。
  • 如果是 Vmalloc 内存消耗增加,则输出/proc/vmallocinfo同分类汇总统计后的信息,并建议用户执行:oc-ops mem kernelleak,进行内存泄露检测。
  • 如果是 HugePages 内存消耗增加,则输出大页的使用情况以及使用了大页的进程信息。

命令:oc-ops mem checkcost [-n topn] [-d] [-h]

参数说明

-n, top n 表示前 top n 的内存耗用项,默认显示 top 3 的内存耗用项;

-d, 先清空缓存(echo 3 > /proc/sys/vm/drop_caches),再进行内存消耗检测;

-h, 显示 oc-ops mem checkcost 的用法,并退出。

3、oc-ops io latency

功能:监控某个或某些存储设备 IO 超过指定阈值,便于定位 IO 慢的问题。

命令:oc-ops io latency -d device [-s size] [-l logdir] [-a average] [-m max] [-p period] [-Q threshold] [-D threshold] [-r] [-k] [-h]

参数说明

-d, 指定监控的设备,例如:sda;多个设备之间用逗号相连,例如:sda,sdb。

-s, 指定日志存储空间(针对 -d 参数中的每个设备)的大小,超过大小后,日志将自动回滚(超过阈值的日志仍会保留),默认 1048576KB。

-l, 指定日志存储目录,必须按绝对路径传递存储目录;默认是/data/oc-ops/io/latency。为避免进入其他目录创建和删除文件,-l 指定的路径中必须包含"io/latency"字符串。

-a, io average latency 的阈值,支持浮点表示,单位为秒,默认 0.2s。

-m,io max latency 的阈值,支持浮点表示,单位为秒,默认 5s。

-p, 每个监控周期的时间,单位为秒,默认 60s。一个监控周期结束后,会自动开始下一个周期的监控。

-Q, IO Q2C(表示io Queued To Complete)耗时的阈值,支持浮点表示,单位为秒,默认与 -m 的数值相同。

-D, IO D2C(表示io Dispatched/Issued To Complete)耗时的阈值,支持浮点表示,单位为秒,默认与 -m 的数值相同。

-r, 保留中间过程的日志,使用此参数可方便调试或基于保留的日志更深入地分析 IO 时延问题。如果 oc-ops io latency 命令没有带 -r 参数,则此次采样过程中的所有 blktrace 数据都不会保留。

-k,kill 所有 oc-ops io latency 监控 IO 的进程,结束监控。使用 -k 时,如果想要保留 blktrace 数据进行更深入的分析,也需要加上 -r 参数;否则将清空历次采用的所有 blktrace 数据。

-h,显示 oc-ops io latency 的用法。

使用注意事项

-l 指定的日志存储目录,应避免在 -d 指定的监控设备上(因为日志存储会产生 IO,增加被监控设备的 IO 压力)。

-l 指定的日志存储目录,应避免指定内存文件系统(例如 tmpfs )所在的目录(因为在内存文件系统上存储日志会消耗内存,对业务产生干扰)。

-d 支持监控多个 device,如果监控过多设备(特别是快速设备,例如 NVMe ),会对 CPU 占用率产生干扰。

4、oc-ops cpu irq latency

功能:监控中断响应超时。

命令:oc-ops cpu irq latency [-e val] [-f freq_ms] [-t threshold_ms] [-c] [-k] [-h]

参数说明

-e,使能/去使能 IRQ latency 的检测。-e 参数后面只能传两种值之一:1 或 0。1 表示开启监控,0 表示关闭监控。

-f,设置监控时采样的频率所对应的时间,单位为 ms,取值范围为 4ms, 1000ms。

-t,设置 latency 的阈值,单位为 ms,取值范围为 freq_ms, 30000ms;中断响应latency超过阈值时相关的栈信息将打印出来。上限设置的原因:如果关中断的时延超过 30000ms ,soft lockup 特性可以检测出来。

-c,清除已积累的栈信息。

-k,为避免忘记关闭检测而对系统造成污染,oc-ops cpu irq latency 将默认在 3600s 后关闭检测。-k 表示 keep IRQ latency 的检测,永远不会自动关闭。

-h,显示 oc-ops cpu irq latency 的用法。

其他信息

使能后,每 60s 自动打印检测结果。如想主动查看检测结果,可执行以下两条命令获取:

cat /proc/irq_latency/trace_dist

cat /proc/irq_latency/trace_stack

示例 1:使能 IRQ latency,并设置阈值为 50ms。

执行 oc-ops cpu irq latency -e 1 -t 50

示例 2:去使能 IRQ latency。

执行 oc-ops cpu irq latency -e 0

四、小结

在 OpenCloudOS 平台上,oc-ops 可以方便地帮助用户分析内存耗用、IO 时延、中断时延等问题,提升相关问题的定位效率。此外,oc-ops 还在不断成长、完善中,并且未来会逐步增加 healthy-check(检测系统健康状态、自动修复部分问题)、网络丢包、时延抖动、误删文件恢复、信号跟踪等维测功能。

如果您想深入了解这些功能,我们建议您访问 OpenCloudOS 社区的官方网站,并参与到 oc-ops 的开发中来。同时,我们也欢迎您下载和使用 OpenCloudOS,以体验平台的高效、智能运维体验。下载地址:

https://www.opencloudos.org/iso

如果您有任何意见、建议或问题,欢迎加社区大使微信(ID:qingmin0623),加入千位 Linux 爱好者汇聚的用户群,即可了解 Linux 和内核领域最新动态,获取 OpenCloudOS 交流使用经验和不定期社群福利。


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/25352.html

    分享给朋友:

    “linux iotop 参数 linux ops” 的相关文章

    BT开心版:简化Linux服务器管理的最佳工具

    BT开心版是一个强大的Linux服务器管理工具,致力于简化网站的搭建、管理和维护过程。对于那些刚接触Linux操作系统的用户来说,BT开心版的出现无疑是一大福音。它的设计理念是让每个用户无论有多少技术背景,都能高效地管理自己的网页,不必深入学习Linux系统的复杂操作。 首先,我发现BT开心版的最大...

    探索韩国VPS服务:选择高性能低延迟的虚拟专用服务器

    在数字化迅猛发展的今天,韩国的VPS(虚拟专用服务器)越来越受到用户的青睐。许多企业和个人用户都开始关注这个区域,特别是那些需要稳定网站和应用程序的人。这篇文章将为你深入探讨韩国VPS的市场需求和背景,以及它在不同场景中的适用性。 首先,韩国VPS市场的兴起与其优越的网络基础设施密不可分。韩国位于东...

    搬瓦工Plan v2:高性价比VPS套餐详解与用户指南

    搬瓦工Plan v2作为一个限量版VPS套餐,给很多用户带来了新的选择。与之前的The Plan套餐相比,Plan v2在配置与流量方面都实现了显著的提升。这款套餐不仅是一种实用的解决方案,也为不同需求的用户提供了灵活的选择。接下来,我将分享一些关于这个套餐的背景信息、主要升级点以及它适合哪些用户。...

    莱卡云:高性价比云服务器解决方案,助力企业发展

    莱卡云概述 莱卡云,这个名字你或许已经听说过。成立于2019年,它在云计算服务领域迅速崭露头角,成为一些企业的首选合作伙伴。凭借持有的多个《中华人民共和国增值电信业务经营许可证》,莱卡云有效地展开了多种多样的服务,充分满足了市场需求。与三大公有云的合作让它在竞争激烈的市场中站稳了脚跟,提供的解决方案...

    解决远程登录Windows Server密码错误的有效步骤

    在尝试远程登录Windows Server时,密码错误是一个常见的问题。遇到这种情况,我通常首先会彻底检查一下用户名和密码的输入。看似简单的步骤实际上可能会被忽视。我会确保输入的每个字符都是正确的,尤其是大小写和特殊字符,确保没有打错。这样的细节容易被忽略,却常常是导致失败登录的主因。 之后,我会关...

    搬瓦工the plan限量版套餐详解:高性能与性价比的完美结合

    搬瓦工the plan限量版套餐概述 当我第一次听说搬瓦工的“the plan”限量版套餐时,心里忍不住很好奇。这种套餐究竟有什么特别之处?在我深入了解后,发现它不仅仅是一个普通的套餐,而是经过精心设计,专为追求高性能和稳定性的用户打造的。它的背景源于搬瓦工希望为用户提供更优质的服务,满足日益增长的...