容器IO争抢严重?教你用blkio实现磁盘带宽隔离,提升系统稳定性

cgroup-blkio子系统分析 1      概述Cgroup中的blkio子系统的主要功能是实现对磁盘i/o带宽的可定制化控制。目前支持的控制策略只要有两种:BLKIO_POLICY_PROP和BLKIO_POLICY_THROTL,即基于权重方式和基于流量方式。权重方式依赖于内核原生的CFQ i/o调度算法,i/o调度算法本身是工作在i/o调度层的,因此在使用上有一定的局限性,即被控制的设备必须使用cfq调度算法;为了弥补这... 阅读详情

第一章:容器IO争抢严重?带你深入理解 blkio 机制

当多个容器共享同一物理存储设备时,IO资源的争抢常常导致关键业务延迟上升、响应变慢。Linux内核通过 `blkio`(Block I/O)控制组子系统,为块设备的IO操作提供精细化的资源管理能力,是解决容器IO争抢的核心机制。

blkio 的核心功能

  • 限制容器对磁盘的读写带宽
  • 为不同容器分配IO权重,实现优先级调度
  • 监控每个cgroup的IO使用情况

配置 blkio 权重控制

在使用 cgroups v1 的系统中,可通过设置 `blkio.weight` 为不同容器分配IO优先级。例如,赋予高优先级容器更高的权重值:
# 创建两个cgroup
mkdir /sys/fs/cgroup/blkio/high_priority
mkdir /sys/fs/cgroup/blkio/low_priority

# 设置IO权重(范围100-1000)
echo 800 > /sys/fs/cgroup/blkio/high_priority/blkio.weight
echo 200 > /sys/fs/cgroup/blkio/low_priority/blkio.weight

# 将进程加入对应cgroup
echo 1234 > /sys/fs/cgroup/blkio/high_priority/cgroup.procs
上述操作后,同一块磁盘上运行的两个容器将根据权重分配IO时间片,避免低优先级任务过度占用资源。

常用 blkio 指标说明

文件名含义
blkio.weight默认IO权重(仅适用于CFQ调度器)
blkio.throttle.read_bps_device限制每秒读取字节数
blkio.throttle.write_iops_device限制每秒写操作次数
graph TD A[容器A] -->|高权重 800| B(块设备队列) C[容器B] -->|低权重 200| B B --> D[磁盘]
通过合理配置 blkio 参数,可有效隔离容器间的IO干扰,保障关键应用的服务质量。

第二章:blkio 核心原理与关键参数解析

2.1 blkio 子系统架构与工作原理

核心架构设计
blkio 子系统是 Linux cgroups 的重要组成部分,专门用于控制块设备的 I/O 资源分配。其核心通过跟踪每个进程组在块设备层级的 I/O 行为,实现带宽和IOPS的精细化管理。
关键控制机制
系统通过以下主要参数进行资源调控:
  • blkio.throttle.read_bps_device:限制每秒读取字节数
  • blkio.throttle.write_iops_device:限制每秒写入操作次数
  • blkio.weight:设置默认权重(范围100-1000)
echo "8:16 1048576" > /sys/fs/cgroup/blkio/limit/blkio.throttle.read_bps_device
上述命令将主设备号8、次设备号16的磁盘读带宽限制为1MB/s,适用于防止某个容器过度占用存储资源。
调度与分层模型
blkio 支持 CFQ 和 BFQ 等调度器协同工作,基于层级结构(hierarchy)对组间和组内进行带宽分配,确保关键业务获得优先I/O保障。

2.2 主要控制文件详解:weight、bps、iops

在Linux的blkio控制器中,weight、bps和iops是控制块设备I/O资源分配的核心参数。
I/O权重控制(weight)
weight用于设置cgroup对块设备的相对I/O调度优先级,取值范围通常为100-1000。例如:
echo "8:0 500" > /sys/fs/cgroup/blkio/blkio.bfq.weight
该命令将主设备号8:0的I/O权重设为500,数值越高,获取的带宽比例越大。
带宽与IOPS限制
bps(字节每秒)和iops(每秒I/O操作数)用于硬性限流。可通过如下方式设置:
  • blkio.throttle.read_bps_device:限制读取带宽
  • blkio.throttle.write_iops_device:限制写入IOPS
echo "8:0 2097152" > /sys/fs/cgroup/blkio/blkio.throttle.read_bps_device
表示限制设备8:0的读取速度为2MB/s,适用于防止某个进程组耗尽磁盘带宽。

2.3 CFQ调度器下的IO权重分配机制

CFQ(Completely Fair Queuing)调度器通过为每个进程分配IO时间片,实现对磁盘带宽的公平调度。其核心在于根据进程的IO优先级和权重,决定队列服务顺序。
权重与时间片分配
进程的IO权重越高,获得的时间片越长。系统默认权重基于nice值调整,用户也可通过ionice命令手动设置。
  • 实时类:最高优先级,优先获取服务
  • 最佳-effort:普通用户进程,权重范围1–7
  • 空闲类:仅在无其他请求时执行
配置示例
# 将进程PID设为最佳-effort类,权重5
ionice -c 2 -n 5 -p 1234
该命令将PID为1234的进程设为最佳-effort类(-c 2),IO权重为5(-n 5)。权重越高,单位时间内可发起的IO请求越多,适用于数据库等高吞吐场景。

2.4 基于cgroup v1的blkio层级管理

blkio子系统作用机制
cgroup v1中的blkio子系统用于限制和监控块设备的I/O访问。通过分层结构,可对进程组设置读写带宽、IOPS上限等策略,适用于多租户环境下的资源隔离。
关键控制参数配置
常见配置文件位于挂载的cgroup blkio层级目录中,例如:
# 限制PID为1234的进程在设备8:0上写带宽为1MB/s
echo "8:0 1048576" > /sys/fs/cgroup/blkio/write_bps_device
echo 1234 > /sys/fs/cgroup/blkio/tasks
其中,8:0表示主设备号与次设备号(如sda),1048576为字节/秒的速率上限。该配置通过内核Throttling机制实现精准限流。
层级继承与资源分配
多个控制组形成树形结构,子组继承父组的限制策略并可进一步细化。通过权重分配(如blkio.weight)实现按比例调度I/O资源,确保关键服务优先获得磁盘带宽。

2.5 容器运行时中的blkio集成方式

blkio子系统与容器资源控制
Linux的blkio cgroup子系统用于限制块设备的I/O带宽和权重,容器运行时(如containerd、CRI-O)通过集成该子系统实现对容器磁盘I/O的精细化控制。
配置示例与参数解析
在容器启动时,可通过OCI运行时规范设置blkio策略:
{
  "linux": {
    "resources": {
      "blockIO": {
        "weight": 500,
        "leafWeight": 300,
        "weightDevice": [
          {
            "major": 8,
            "minor": 0,
            "weight": 700,
            "leafWeight": 500
          }
        ]
      }
    }
  }
}
上述配置中,weight定义了整体I/O调度权重(范围100-1000),weightDevice针对特定块设备(如/dev/sda)设置更细粒度的优先级。
运行时集成机制
容器运行时在创建cgroup时调用内核接口写入blkio参数,确保容器进程组受限于预设的I/O带宽。该过程通常由runc等低层运行时代理完成,保障策略的准确生效。

第三章:Docker中配置blkio限制的实践方法

3.1 使用docker run命令设置磁盘带宽限制

Docker默认不限制容器对磁盘I/O的使用,但在多租户或资源敏感环境中,需通过参数控制磁盘带宽以保障系统稳定性。
核心参数说明
Docker支持通过--device-read-bps和--device-write-bbps限制设备的读写速率。
  • --device-read-bps:限制每秒从设备读取的数据量
  • --device-write-bps:限制每秒向设备写入的数据量
示例命令
docker run -it --device-read-bps /dev/sda:1mb ubuntu:20.04
该命令将容器对/dev/sda的读取速度限制为1MB/s。参数单位可使用kb、mb或gb。此限制基于Linux的blkio cgroup实现,适用于物理设备路径,确保多个容器间公平共享磁盘资源。

3.2 通过docker-compose定义IO资源约束

在容器化应用中,合理分配IO资源对系统稳定性至关重要。`docker-compose` 支持通过配置项限制容器的磁盘读写速率,避免单个服务过度占用IO带宽。
配置示例
version: '3.9'
services:
  app:
    image: ubuntu:20.04
    command: tail -f /dev/null
    deploy:
      resources:
        limits:
          # 限制磁盘IO为10MB/s
          disk_quota: 10MB
上述配置使用 `deploy.resources.limits.disk_quota` 设置容器磁盘配额。该参数仅在启用Swarm模式时生效,适用于生产环境中的资源隔离需求。
支持的IO约束类型
  • disk_quota:限制容器可使用的磁盘空间
  • io_percent:限制容器IO使用百分比(需平台支持)
  • blockIO:通过device_read_bps、device_write_bps控制块设备吞吐

3.3 验证限制效果:dd与fio压测工具应用

在存储性能调优中,验证资源限制的实际效果需依赖可靠的压测手段。`dd` 和 `fio` 是两类广泛使用的工具,分别适用于基础写入测试与复杂IO场景模拟。
使用 dd 测试顺序写入性能
dd if=/dev/zero of=./testfile bs=1M count=1024 oflag=direct
该命令生成 1GB 文件,bs=1M 提升吞吐效率,oflag=direct 绕过页缓存,更真实反映磁盘写入速率。通过时间输出可计算带宽,验证限速策略是否生效。
使用 fio 模拟随机读写负载
fio --name=randwrite --ioengine=libaio --direct=1 \
--rw=randwrite --bs=4k --size=512M --numjobs=4 \
--runtime=60 --time_based --output=fio_result.txt
此配置模拟多线程随机写入,bs=4k 符合典型数据库IO特征,numjobs=4 增加并发压力,可用于观测cgroup或容器层面的IOPS限制行为。
参数说明
direct=1绕过文件系统缓存
ioengine=libaio启用异步IO引擎
time_based按运行时长控制测试周期

第四章:典型场景下的IO隔离优化策略

4.1 多租户环境下数据库容器的IO限流

在多租户架构中,多个租户共享同一数据库实例或宿主机资源,容易因个别租户的高IO行为导致“邻居干扰”问题。为保障服务质量,必须对容器级别的IO进行精细化限流。
基于cgroups的IO控制
Linux cgroups v2 提供了对块设备IO的控制能力,可通过以下配置限制容器读写带宽:

# 限制容器对/dev/sda的读带宽为10MB/s
echo "8:0 rbps=10485760" > /sys/fs/cgroup/db-container/io.max
# 限制写带宽为5MB/s
echo "8:0 wbps=5242880" > /sys/fs/cgroup/db-container/io.max
上述配置中,`8:0`为设备主次号,`rbps`和`wbps`分别表示每秒读写字节数。通过将不同租户的数据库容器挂载到独立cgroup组,实现资源隔离。
动态限流策略
  • 监控各容器IO使用率,结合Prometheus采集指标
  • 设置阈值触发自动限流,避免硬性固定配额影响弹性
  • 按租户等级分配权重,保障高优先级业务SLA

4.2 高频日志写入服务的带宽保障方案

在高并发场景下,日志服务需优先保障网络带宽以避免数据丢失。通过QoS策略对日志流量进行分级调度,可有效隔离关键业务与普通日志的带宽使用。
带宽限流配置
采用令牌桶算法实现流量整形,限制非关键日志的突发带宽占用:
// 令牌桶限流器示例
limiter := rate.NewLimiter(rate.Limit(1000), 2000) // 每秒1000个令牌,最大突发2000
if !limiter.Allow() {
    log.Warn("日志写入被限流")
    return
}
// 继续写入逻辑
该配置确保日志系统在高峰期间平滑输出,避免瞬时流量冲击网络链路。
优先级队列管理
  • 紧急级别日志(如ERROR)直通高优先级通道
  • INFO级别日志进入延迟容忍队列
  • 异步批量提交降低IO频率

4.3 混部场景中离线任务对在线业务的影响控制

在混部架构中,离线任务与在线服务共享资源,若缺乏有效隔离机制,易引发资源争抢,导致在线业务延迟升高。为此,需从资源调度与优先级控制两方面入手。
资源分层与QoS分级
通过Linux Cgroups对CPU、内存等资源进行硬性隔离,保障在线服务的资源配额。同时,结合Kubernetes的QoS模型,将Pod划分为Guaranteed、Burstable和BestEffort三类,确保高优先级服务稳定运行。
动态限流策略
当检测到在线服务负载上升时,自动对离线任务进行降级处理。例如,使用以下脚本动态调整离线任务CPU份额:

# 将离线任务的CPU权重设为最低
echo 1024 > /sys/fs/cgroup/cpu/offline-task/cpu.shares
该配置将离线任务的CPU调度权重降至默认值(1024)的一半以下,使其在资源竞争中主动让步,从而降低对在线请求的干扰。

4.4 动态调整blkio参数实现弹性QoS

在容器化环境中,为实现磁盘I/O的弹性服务质量(QoS),可通过cgroup blkio子系统动态调整IO带宽限制。运行时修改`blkio.throttle.read_bps_device`等参数,可实时控制特定设备的读写速率。
参数配置示例
# 限制容器对/dev/sda的读取速度为10MB/s
echo "8:0 10485760" > /sys/fs/cgroup/blkio/mygroup/blkio.throttle.read_bps_device
其中`8:0`代表主设备号与次设备号(sda),`10485760`为每秒字节数。该值可在运行时安全更新,无需重启进程。
弹性调控策略
  • 监控IO使用率,触发阈值后自动调高或降低配额
  • 结合Kubernetes CSI插件,实现存储层QoS联动
  • 按业务优先级分组,保障关键应用IO资源
此机制支持细粒度、动态的IO资源管理,提升多租户环境下系统的稳定性和资源利用率。

第五章:总结与未来展望

技术演进的持续驱动
现代系统架构正加速向云原生和边缘计算融合的方向发展。以Kubernetes为核心的编排平台已成标配,而服务网格(如Istio)则进一步解耦了通信逻辑与业务代码。
  • 微服务间的安全通信默认启用mTLS
  • 可观测性通过分布式追踪(如OpenTelemetry)实现端到端监控
  • 策略控制与配置管理实现集中化治理
代码层面的实践优化
在Go语言中,利用context包管理请求生命周期已成为标准做法:

ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()

result, err := database.Query(ctx, "SELECT * FROM users")
if err != nil {
    if ctx.Err() == context.DeadlineExceeded {
        log.Println("Request timed out")
    }
}
未来架构趋势预测
趋势方向关键技术典型应用场景
Serverless+AI函数计算、模型推理优化动态图像处理流水线
边缘智能eKuiper、WASM边缘运行时工业IoT实时分析
安全与合规的深度集成
[用户请求] → (身份验证网关) → [策略引擎] ↓ [数据脱敏模块] → [审计日志]
零信任架构要求每个访问请求都必须经过动态授权,结合OPA(Open Policy Agent)可实现细粒度策略控制。某金融客户通过引入OPA,将API访问违规事件减少了76%。
【访问控制】cgroup限制磁盘读写 blkio是cgroup中的一个子系统,可以用于限制及监控磁盘读写io blkio控制子系统可以限制进程读写的 IOPS 和吞吐量,但它只能对 Direct I/O 的文件读写进行限速,对 Buffered I/O 的文件读写无法限制 Buffered I/O 指会经过 PageCache 然后再写入到存储设备中。这里面的 Buffered 的含义跟内存中 buffer cache 不同,这里的 Buffered 含义相当于内存中的buffer cache+page cache。 阅读详情

相关推荐

blkio.weight使用感想

blkio.weight使用感想根据尝试,发现设置blkio.weight并不会对写入产生很大的影响,其影响的主要是read的IO。

白橙纸的不知道什么 2737

iops & blkio

每秒的读写次数。

喝醉酒的小白 974

sync、fsync与fdatasync函数详解

在研究mysql配置文件中sync_binlog=N参数之中,发现该参数的含义是在N个SQL之后,调用了fdatasync()函数刷新binlog到磁盘,所以就好好研究了下sync、fsync和fdatasync这三个函数,也记录下来分享一波。 名词解释: 脏页:当进程修改了缓存中的数据时,该页就被标记为脏页 内存映射:一个文件到一块内存的映射 延迟写(delayed write): 传统

formydream的博客 1800

存储设备IO优化向导(blkio)

1、概述 虽然存储设备的恨不能在近年来一直在稳步提升,从raw nand到emmc,再到UFS都在进步,但和CPU相比它们依然是一个低俗的外设,并且IO是不可抢占的,所以应用程序在交互中等待IO会带来非常糟糕的用户体验,大部分程序员都意识到了这一点,所以绝大多数的程序尽量都会想办法改善这个问题,例如预读(readahead)和异步IO等。但是有些场景是很难规避IO的影响的。比如启动应用和本地音视频播放。如果在这两个场景中,还有其它的程序来竞争IO,那对用户体验来说可能无法接受。 2、现有的优化 设想有

80后的梦想 885

【CGroup原理篇V1】五、BLKIO子系统

blkio,Block IO Controller,指block io控制器或块IO子系统。 IO控制策略就是用于控制特定设备的IO速率的一个节流策略。这种策略可以应用在内核通用块层(Generic Block Layer),也可以应用在页节点上和高级别逻辑设备,如设备映射器。

从0到1,突破自己 3075

使用Gromacs进行蛋白和配体小分子的动力学模拟+结果分析全流程教程

先选protein,选择non-water,使用pymol打开delWater.pdb,输入util.ss('all')展示cartoon,点击file-Export Moive as-MPEG。这一步完成后,文件夹中会出现以下三个文件,其中gro 文件用于记录蛋白的初始坐标,top 文件记录蛋白的拓扑信息和力场信息,itp 与top文件类似。接下来使用Spdbv软件打开蛋白,如果蛋白中存在原子缺失情况,就会出现以下的提示,如果不存在就不会显示,同时保存为rep.pdb。

weixin_46587777的博客 2853

Docker容器CPU、内存与磁盘IO资源限制与优化实战指南

在容器化部署中,资源隔离与管理是保障服务稳定性的基石。其核心原理基于Linux内核的cgroups(控制组)与namespace(命名空间)技术,通过为每个容器设定明确的资源边界,防止单一应用耗尽宿主机资源,从而引发级联故障。这项技术的核心价值在于实现多工作负载环境下的资源公平性与可预测性,是构建高可用微服务架构的关键。典型的应用场景包括防止Java应用因内存泄漏导致OOM(内存溢出),或避免某个容器独占CPU、磁盘IO而拖垮同节点其他服务。本文将以Docker容器为例,深入剖析如何对CPU、内存及磁盘IO

weixin_29216353的博客 223

Sourcetree与Gitee的搭配使用

初次将gitee与sourcetree联合起来使用,还是遇到了不少问题,其中最让人烦恼的就是在我修改了一下用户名之后,便无法在Sourcetree直接推送到gitee,很是让人郁闷。本文处理Sourcetree与gitee搭配使用过程中的问题:Sourcetree身份验证失败,无法推送;Sourcetree推送时,无法显示要推送的分支;Sourcetree远端上面有感叹号。

年少时的棉花糖 4434

Docker资源限制避坑指南(生产环境血泪总结):8个常见错误配置

解决Docker容器资源分配难题,系统讲解资源限制调整策略。涵盖CPU、内存等8个常见错误配置,适用于生产环境调优。避免服务崩溃与资源浪费,提升系统稳定性与利用率,运维必看避坑指南,值得收藏。

LogicShoal的博客 796

深入解析CRC-16校验算法及其Verilog硬件实现

本文深入解析了CRC-16校验算法的原理及其在Verilog中的硬件实现方法。从基础的模2除法到串行和并行实现方案,详细介绍了LFSR结构、状态转移分析以及工业应用中的优化技巧。通过实际案例和性能对比,帮助开发者理解如何选择适合的CRC实现方案,确保数据传输的可靠性。

yolo5detector的博客 322

字节跳动已上岸测试工程师的面试经验

这个时候发面经已经有点晚了,所以现在打算让这篇面经主要面向即将秋招的童鞋,当然现在还在春招的童鞋也可以看哈,我和大家一起聊聊关于测试的二三事。   一、测试工程师的工作是什么?   测试工程师简单点说就是找bug,然后反馈给开发人员,不要小看这个工作。   首先很明显的bug开发人员有时候自己就能找到,测试人员要有比开发人员更加全面的想法才能找到深层次的问题点,   其次,要端正一个态度就是测试人员不是一个电脑小白,相反国外顶级的测试开发工程师同时也是顶级的开发工程师甚至更厉害,所以作为一个测试工程师一定要

m0_60745607的博客 2933

Cgroup blkio简介和测试(使用fio测试)

因需要对docker镜像内的进程对磁盘读写的速度进行限制,研究了下Cgroup blkio,并使用fio对其iops/bps限速进行测试。 Cgroup blkio简介 Linux Cgroup(Control Groups)是Linux内核提供的用于限制、记录、隔离进程组可以使用的资源(cpu、memory、IO等)的一种机制。 在/boot下面的对应config文件里查看Cgroup内核选项: CONFIG_BLK_CGROUP=y CONFIG_BLK_DEV_THROTTLING=y b

80后的梦想 1735

空频、空时、空域、时域、频域抗干扰介绍

1、时域抗干扰:对时间域序列进行滤波,滤波系数h(n),采样序列不断进行输入与滤波系数卷积计算,得到响应输出;例如常用的FIR和IIR滤波器。 对于多窄带干扰噪声源和连续波干扰源有较好的处理效果,还可以解决多径问题; 可以通过在接收机前端处理中增加一个嵌入式块实现; 2、频域抗干扰:接收机不容易受到相对于接收机频带以外的强功率干扰; 通常为带通滤波和阻带滤波, 适用于窄带干扰噪声源,连续波干扰源以及较强的频带外干扰噪声源, 3、空域抗干扰:通过多个自适应天线按照特定组合成天线阵列,波束成形,针对

qq_43517907的博客 7305

blkio权重设置的5大误区,90%的运维人员都踩过坑!

掌握Docker容器的blkio权重设置技巧,避开常见误区。详解适用场景、权重分配原则及性能优化方法,提升容器I/O隔离效果。90%运维踩过的坑全解析,值得收藏。

Algorhythm的博客 647

智能车图像处理12-进阶篇4--环岛辅助判断条件

主函数: 第6行: 含义是当前需要不在坡道和车库状态 第11-12行 : 寻找一下环岛的双断点(在辅助函数中) 第16-66行: 当左右线的方差满足一边很大,一边很小时,truepianfangflag /truepianfangflagforleft 置1,在环岛的判断中使用。 辅助函数: 双断点函数(左与右相似,以做为例): 第13-28行: 第一处断点 第29-40行: 第一处断点后 连续边线 第41-52行: 第一处连续后,第二处断点 第53-64行: 第二处断点后,第二处

taiyuezyh的博客 1万+

《AI 时代FPGA的全栈开发实战・从入门到精通》专栏启动说明

《智驱FPGA》专栏面向初学者,聚焦AI时代FPGA开发新范式,以ChatGPT、ICCoder2.0等工具全程辅助,覆盖纯逻辑、Zynq软硬协同、端侧AI加速、高速接口等核心方向。通过126节图文+14个实战项目,传授AI生成代码、Prompt工程、时序优化等能力,助力学员从零成长为具备工程竞争力的FPGA工程师,结业可独立完成完整项目并写入简历。

现任某外企的算法工程师!专注于人工智能、嵌入式、FPGA、论文写作四大主题的教程和经验分享!辅导请➕v :sci666888999 172

blkio调度和IO隔离机制

在 Linux 的资源调度与性能管理体系中,blkio 子系统是极其关键的一环。它主要用于对块设备的 I/O 行为进行调度与隔离控制,是理解和掌控磁盘性能表现、资源公平使用、系统稳定性的基础模块。I/O 与 CPU 不同,具有明显的不可压缩特性(如磁盘转速、SSD寿命限制),这也使得 I/O 调度更具挑战性。blkio 提供了在多任务或多容器环境下控制不同进程(或 cgroup)使用块设备资源比例的能力,包括对吞吐(bandwidth)与 IOPS 的调度控制。

marico123的博客 598

Ardupilot chibios IO固件,IO与FMU通信,固件下载(3)

目录 文章目录目录摘要 摘要 本节主要记录自己学习IO与FMU通信

陌城烟雨 2801

CFQ调度与blkio的权重控制

CFQ I/O调度算法与公平性保证(不涉及cgroup和组调度策略)Cfq调度算法旨在保证所用进程的完全公平性,相同的I/O调度周期内,进程被服务的机会是相同的。CFQ维护了一些列的调度队列cfq_queue,默认为64个,有io需求的进程会绑定到一个cfq_queue,即一个cfq_queue一个时刻只接受一个进程的请求,cfq_queue有一个私有的request红黑树,request红黑树上...

tanzhe2017的博客 3839

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Docker 资源限制之 IO

一、压测工具 通过 Linux dd 命令测试 二、IO 测试 Runtime constraints on resources 关于 IO 的限制 --blkio-weight=0 Block IO weight (relative weight) accepts a weight value between 10 and 1000. --blkio-w

顽石的专栏 6360

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

cgroups介绍及安装配置使用详解

1 cgroup简介     Cgroups是control groups的缩写,是Linux内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:cpu,memory,IO等等)的机制。最初由google的工程师提出,后来被整合进Linux内核。也是目前轻量级虚拟化技术 lxc (linux container)的基础之一。 2 cgroup作用 3

jesseyoung 3万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

[Android Q][cgroup][blkio]关于blkio分组bg在Android Q上失效的分析

新项目,Android Q,按照之前的惯例,在配置blkio的前后台weight比例。 今天在验证效果时发现,/bg分组下的tasks为空——即表示没有任何task被移入此组。 第一反应是cgroup的blkio没有生效,但是在ls -al /dev/blkio查看后发现,存在一个我并没有创建的目录(分组):/dev/blkio/background: XXX:/ $ ls -al dev...

Ryan ZHENG的专栏 1947

容器磁盘限速:我的容器里磁盘读写为什么不稳定?

上一讲,我给你讲了如何通过 XFS Quota 来限制容器文件系统的大小,这是静态容量大小的一个限制。 你也许会马上想到,磁盘除了容量的划分,还有一个读写性能的问题。 具体来说,就是如果多个容器同时读写节点上的同一块磁盘,那么它们的磁盘读写相互之间影响吗?如果容器之间读写磁盘相互影响,我们有什么办法解决呢? 接下来,我们就带着问题一起学习今天的内容。 场景再现 我们先用这里的代码,运行一下 make image 来做一个带 fio 的容器镜像,fio 在我们之前的课程里提到过,它是用来测试磁盘

小楼一夜听春雨,深巷明朝卖杏花 2228

Cgroup blkio I/O 控制

1.1 I/O 控制(blkio)blkio子系统限制对指定块设备的 I/O 操作1)对于分配给blkio子系统的进程,我们可以通过两种方式控制它们对块设备的 I/O 操作a)通过加权系统Blkio 子系统参数(bkiio.weight)允许每个Cgroup 拥有相对份额的可用I/O.加权机制可用在公平调度器中实现b)通过I/0 限制可用使用子系统参数来为块设备设置I/0操作...

weixin_33785972的博客 576
上一篇: 【Docker容器网络配置终极指南】:5步实现容器安全连接外部数据库
下一篇: 为什么你的Docker应用卡顿?/dev/shm配置错误正在拖垮性能!
QuickSolve
博客等级 码龄1年 137粉丝 2015原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值