zoukankan      html  css  js  c++  java
  • linux 使用 ionice 限制 Xen 虚拟机磁盘 IO

    作为 VPS 服务商我们需要保证每个 VPS 公平的使用 host(服务器)的资源,避免某个 VPS 因为程序死循环、挂起、滥用等因素 “拖累” 其他 VPS,如果出现这个情况如何临时限制这个 VPS 的磁盘 IO 呢?有个办法是通过通过修改每个虚拟机 CPU 权重的办法间接、不精确的限制 IO. 在 Linux 上限制资源(CPU、内存、IO 等)的通常办法是用 cgroups,不过今天介绍的 ionice 要更容易一些。

    首先找到哪个虚拟机(VPS)正在大量 IO(假设是 vps0001),找到这个虚拟机后用 xm list 查出这个虚拟机使用的 ID 号,然后用 ID 配上 blkback(blkback.24)找出这个虚拟机(通过 Xen 的 blkback 驱动)关联哪些硬盘(blkback.24.xvda 和 blkback.24.xvdb),以及所使用的进程号(25089 和 25090):

    1 # xm list vps0001
    2 Name                                      ID Mem(MiB) VCPUs State   time(s)
    3 vps0001                                   24     1024     2 -b----  70030.7
    4 
    5 # ps aux | grep blkback.24
    6 root      7434  0.0  0.1  61172   768 pts/16   D+   02:48   0:00 grep blkback.24
    7 root     25089  0.0  0.0      0     0 ?        S<    2012   0:00 [blkback.24.xvda]
    8 root     25090  0.0  0.0      0     0 ?        S<    2012   0:00 [blkback.24.xvdb]

    找到进程号后我们就可以 ionice 了:

    # ionice -p 25089 -c 2 -n 7

    使用 ionice 之前查一下帮助文件,-c 是指定调度类型,这里选择的是 2,best-effort;-n 指定调度优先级,0 最高,7最低;-p 是指定进程号:

    OPTIONS
    -c The scheduling class. 1 for real time, 2 for best-effort, 3 for
    idle.

    -n The scheduling class data. This defines the class data, if the
    class accepts an argument. For real time and best-effort, 0-7 is
    valid data.

    -p Pass in a process pid to change an already running process. If
    this argument is not given, ionice will run the listed program
    with the given parameters.

    ionice 把磁盘 IO 调度分成三类:

    • real time 实时调度,设置后立即访问磁盘,不管系统中其他进程是否有 IO,可能会使得其他进程处于等待状态,不能用在这里;
    • best effort 默认调度,可以指定调度优先级(从0到7,数值越小、优先级越高);同一优先级的进程采用 round-robin 算法调度;
    • idle 空闲调度,只有当前系统没有其他进程磁盘 IO 时,才能进行磁盘 IO.

    额,如果太过分,我们就把这个进程的调度改成 idle,这样会极大降低这个虚拟机的 IO,虚拟机只能保持基本可用状态,不推荐~

    # ionice -p 25089 -c 3
  • 相关阅读:
    centos7-根据端口号查看所属应用
    centos7-网络与防火墙常用命令
    docker(5)常用命令
    docker(4)使用Dockerfile文件创建镜像-对docker(3)的改进
    [多校联考2021] 模拟赛4
    [省选前集训2021] 模拟赛7
    [多校联考2021] 模拟赛3
    [学习笔记] 圆方树
    [多校联考2021] 模拟赛2
    [学习笔记] 反悔贪心
  • 原文地址:https://www.cnblogs.com/wspblog/p/4607958.html
Copyright © 2011-2022 走看看