vagrant
docker
virtualenv
rvm
XenServer通过ionice限制VM虚拟机硬盘IO
发布时间:June 8, 2013 // 分类:虚拟化 // 1 Comment
之前有文章介绍Xen下通过ionice限制VM虚拟机硬盘IO优先级,XenServer获取虚拟机进程和Xen不同,可通过以下方法查找虚拟机IO进程,并使用ionice限制。
首先获取VM虚拟机的UUID:
xe vm-list name-label=<vm-name> --minimal
然后再获取VM的DOM ID:
list_domains |awk '/<vm-uuid>/ {print $1}'
通过DOM ID获取VM相对应的进程ID:
ps aux|grep xb.*<dom-id>.xvd
root 10995 0.0 0.0 0 0 ? S 10:08 0:01 [xb.00003.xvda]
root 10996 0.0 0.0 0 0 ? S 10:08 0:00 [xb.00003.xvdd]
使用ionice调整相应进程的IO优先级策略即可。
Xen限制VM虚拟机磁盘IO
发布时间:June 8, 2013 // 分类:虚拟化 // No Comments
作为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):
# xm list vps0001
Name ID Mem(MiB) VCPUs State Time(s)
vps0001 24 1024 2 -b---- 70030.7
# ps aux | grep blkback.24
root 7434 0.0 0.1 61172 768 pts/16 D+ 02:48 0:00 grep blkback.24
root 25089 0.0 0.0 0 0 ? S< 2012 0:00 [blkback.24.xvda]
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
原文:http://www.vpsee.com/2013/06/using-ionice-to-mediate-xen-vm-disk-io/
XenServer修改Linux/Windows系统模板内存等资源限制
发布时间:January 5, 2013 // 分类:虚拟化 // No Comments
XenServer虚拟机系统模板对内存等资源有做限制,在新建虚拟机时分配的资源不能小于模板最小限额。
XenServer下查看CentOS6 32位模板内存最小限制:
xe template-list name-label=CentOS\ 6\ \(32-bit\) params=memory-static-min --minimal
536870912
可见内存最小限制为512M,如果安装Centos6虚拟机内存不能小于512M,修改Centos模板内存最小限制为128M:
xe template-list name-label=CentOS\ 6\ \(32-bit\) params=uuid --minimal
#查看Centos模板uuid
xe template-param-set uuid=<uuid> memory-static-min=128MiB
#修改内存最小限制为128M
分类
- Apache (13)
- Nginx (45)
- PHP (86)
- IIS (8)
- Mail (17)
- DNS (16)
- Cacti (14)
- Squid (5)
- Nagios (4)
- Puppet (7)
- CentOS (13)
- Iptables (23)
- RADIUS (3)
- OpenWrt (41)
- DD-WRT (1)
- VMware (9)
- 网站程序 (2)
- 备份存储 (11)
- 常用软件 (20)
- 日记分析 (10)
- Linux基础 (18)
- 欧诺代理 (0)
- Linux服务 (18)
- 系统监控 (4)
- 流量监控 (7)
- 虚拟化 (28)
- 伪静态 (2)
- LVM (3)
- Shell (18)
- 高可用 (2)
- 数据库 (16)
- FreeBSD (3)
- 网络安全 (25)
- Windows (35)
- 网络工具 (22)
- 控制面板 (3)
- 系统调优 (10)
- Cisco (3)
- VPN (5)
- ROS (20)
- Vim (14)
- KMS (4)
- PXE (2)
- Mac (1)
- Git (1)
- PE (1)
- LNS (2)
- Xshell (7)
- Firefox (13)
- Cygwin (4)
- OpenSSL (9)
- Sandboxie (3)
- StrokesPlus (1)
- AutoHotKey (4)
- Total Commander (3)
- WordPress (3)
- iMacros (6)
- Typecho (2)
- Ollydbg (1)
- Photoshop (1)
- 正则 (3)
- Debian (3)
- Python (8)
- NoSQL (6)
- 消息队列 (4)
- JS (7)
- Tmux (3)
- GO (7)
- HHVM (2)
- 算法 (1)
- Docker (2)
- PT (15)
- N1 (16)
- K2P (6)
- LUKS (4)
最新文章
- 安装onlyoffice
- ssh生成/转换私钥格式及openssl使用ssh证书rsa非对称加解密文件
- ubuntu/debian禁用qemu-guest-agent
- tmux attach使用ssh agent
- linux用tc给软件应用或ip做qos限制下载上传速度
- linux/ubuntu交叉静态编译mips tmux和dropbear/openssl/openssh/bash
- 使用squashfs-tools和binwalk修改路由/光猫固件rootfs文件
- 此内容被密码保护
- openwrt/immortalwrt编译内核模块并修改版本号
- 联通贝尔光猫G-140W-UG修改为桥接/管理员密码并开启telnet
最近回复
- 海运: 网络,找到相应的url编辑重发请求,firefox有此功能,其它未知。
- knetxp: 用浏览器F12网络拦截或监听后编辑重发请求,修改url中的set为set_super,将POS...
- Albert: 啊啊啊啊啊啊啊啊啊 我太激动了,终于好了英文区搜索了半天,翻遍了 pve 论坛没找到好方法,博...
- jiangker: good, very helpful to me
- fengfeng: N1 armbian 能有编译下内核吗。。我要开启can 不懂怎么操作
- 1: 方法一ngtcp2要改下:./configure PKG_CONFIG_PATH=/usr/l...
- 海运: 关闭服务器
- 海风: override.battery.charge.low以及override.battery.r...
- koldjf: 不能过滤
- 杰迪武士: 此文甚好甚强巨,依照此文在树莓派2 + Rasbian上部署成功 感谢博主美文共赏