xenserver虚拟机实时性能查看方法

登陆服务器,执行脚本/opt/tools/real_time_status.sh:(该脚本的相关数据都是从xentop命令中提取的)

#!/bin/bash
# Program:
#    Real-time Performance
# History:
#	2014/09/29	caishunzhi First release

DIR="/opt/tools"
HOSTNAME=`/bin/hostname`
SORT=${1:-4}
NUM=${2:-6}

function get_performance()
{
	#cpu
	>/tmp/xentopcpu_
	#/usr/sbin/xentop -i2 -d1 -b -f >/tmp/xentopcpu_
	#CPU=`awk -F'[-r]' '{print $NF}' /tmp/xentopcpu_ |grep -v VBD_WR |awk 'BEGIN{sum=0}{sum+=$2}END{print sum}'`

	#traffic and io
	/usr/sbin/xentop -i1 -d1 -b -f |grep -v VBD_WR >/tmp/xentop_1
	TX1=`awk -F'[-r]' '{print $NF}' /tmp/xentop_1 |awk 'BEGIN{sum=0}{sum+=$9}END{print sum}'`
	RX1=`awk -F'[-r]' '{print $NF}' /tmp/xentop_1 |awk 'BEGIN{sum=0}{sum+=$10}END{print sum}'`
	VDB_RD1=`awk -F'[-r]' '{print $NF}' /tmp/xentop_1 |awk 'BEGIN{sum=0}{sum+=$13}END{print sum}'`
	VDB_WR1=`awk -F'[-r]' '{print $NF}' /tmp/xentop_1 |awk 'BEGIN{sum=0}{sum+=$14}END{print sum}'`
	sleep 1
	/usr/sbin/xentop -i1 -d1 -b -f |grep -v VBD_WR >/tmp/xentop_2
	TX2=`awk -F'[-r]' '{print $NF}' /tmp/xentop_2 |awk 'BEGIN{sum=0}{sum+=$9}END{print sum}'`
	RX2=`awk -F'[-r]' '{print $NF}' /tmp/xentop_2 |awk 'BEGIN{sum=0}{sum+=$10}END{print sum}'`
	VDB_RD2=`awk -F'[-r]' '{print $NF}' /tmp/xentop_2 |awk 'BEGIN{sum=0}{sum+=$13}END{print sum}'`
	VDB_WR2=`awk -F'[-r]' '{print $NF}' /tmp/xentop_2 |awk 'BEGIN{sum=0}{sum+=$14}END{print sum}'`

	date1=`stat /tmp/xentop_1 |grep Modify |awk '{print $2,$3}'`
	date2=`stat /tmp/xentop_2 |grep Modify |awk '{print $2,$3}'`
	start=`date +%s -d "$date1"`
	end=`date +%s -d "$date2"`

	let sleep=end-start

	#VM Performance Output
	awk '{print $1}' /tmp/xentop_1 >/tmp/vmname_
	awk -F'[-r]' '{print $NF}' /tmp/xentop_1 >/tmp/xentop_11
	awk -F'[-r]' '{print $NF}' /tmp/xentop_2 >/tmp/xentop_22
	awk -F'[-r]' '{print $NF}' /tmp/xentopcpu_ |sed '1,/NAME/d' |awk '{print $2}' >/tmp/xentop_33
	printf "\n%50s %6s %12s %12s %6s %6s\n" NAME CPU 'NETin(KB)' 'NETout(KB)' IOr IOw
	paste /tmp/vmname_ /tmp/xentop_11 /tmp/xentop_22 /tmp/xentop_33 |awk -v n=$sleep '{printf "%50s %6s %12d %12d %6d %6d\n",$1,$NF,($27-$10)/n,($28-$11)/n,($31-$14)/n,($32-$15)/n}' |sort -k"$SORT" -rn |head -"$NUM"
}

while true;
do
	get_performance
done

[root@xen-host01 ~]# sh /opt/tools/real_time_status.sh

默认以流出流量(第四列)排序,显示前6名。

如果要以其它列排序,直接在脚本后接列号;如果要显示更多的虚拟机,在列号后接要显示的数量。
如下命令以IO读请求数排序(第五列),显示前10名:
[root@xen-host01 ~]# sh /opt/tools/real_time_status.sh 5 10

注:
默认没有显示虚拟机的cpu使用率,如果要显示,请编辑脚本,将如下两行的注释(#)去掉,保存退出,再执行脚本即可。

xentop官方使用说明:
How to Use the XenServer Xentop Utility

(0)

相关推荐

  • linux XenServer 6.2安装图解教程

    Citrix Xenserver,思杰基于Linux的虚拟化服务器.Citrix XenServer是一种全面而易于管理的服务器虚拟化平台,基于强大的 Xen Hypervisor 程序之上.Xen技术被广泛看作是业界最快速.最安全的虚拟化软件.XenServer 是为了高效地管理 Windows(R) 和 Linux(R)虚拟服务器而设计的,可提供经济高效的服务器整合和业务连续性. 安装说明: 安装XenServer 6.2的服务器CPU必须支持虚拟化,Intel (VT-X) 或者AMD (

  • XenServer 虚拟机扩容LVM磁盘分区的方法

    说明:XenServer里面安装的虚拟机,分区的时候采用的是LVM磁盘分区 需求:现在需要扩容虚拟机根分区/ 具体操作: 一.使用XenCenter增大虚拟机磁盘容量,如下图所示 增大当前磁盘到50GB 注意:必须在虚拟机关机状态下进行 二.查看硬盘容量 df -h #可以看到此时根分区还是12G,没有变化 fdisk -l #已经可以看到整个磁盘容量变为53.6GB了 三.创建新的磁盘分区 fdisk /dev/xvda #对磁盘/dev/xvda进行操作 p #查看当前分区 n #创建新分区

  • XenServer 6.5 安装配置图文教程

    废话少说,直接上马 首先下载好xenserver6.5的iso镜像文件,物理机就刻盘安装,虚拟机就直接使用iso镜像安装 XenServer6.5下载地址:http://www.jb51.net/softs/391981.html 1.安装界面 2.键盘模式选择默认-美式,ok 3.这里提醒你安装将清除磁盘信息,做好备份,ok 4.想什么呢,当然是Accept了 5.服务器的CPU没有开启虚拟化,请开启虚拟化后继续 6.选择安装在本地硬盘,第一项,ok 7.安装介质选择本地光盘,第一项,ok 8

  • Xenserver迁移所有虚拟机到VMware vSphere 6.0

    环境介绍: Xenserver 6.02 一共7台虚拟机,其中DC02的共享服务器是通过iSCSI连接华为存储. 迁移所有虚拟机到VMware vSphere 6.0. Xenserver环境如下: VMware ESXi 6迁移完成后: 使用VMwarev Center Converter Standalone 6成功迁移了6台虚拟机,只有U8服务器无法迁移,在迁移过程中发现使用converter工具转移速度很慢,在顺利迁移了DC及SCCM后,其他服务器都转换失败. 解决方法:只转换C盘,其他

  • XenServer中VMware的Console的连接方法

    在XenServer6.2中的VMware虚拟机,连接Guest VM串口的方法: 1. 首先在Guest VM中设置串口: 我的是CentOS6: 修改/etc/grub/grub.conf: 2. 修改完后,重启Guest VM. 3. Guest VM重启后,ssh连接Xenserver,在命令行下执行 xl list, 查看Guest VM的 ID: 如我要连接Client5: [root@Xenserver5 ~]# xl list Name ID Mem VCPUs State Ti

  • Citrix XenServer 6.1 的安装与配置方法

    一.XenServer 6.1简介 Citrix XenServer服务器虚拟化系统通过更快的应用交付,更高的IT 资源可用性和利用率,让数据中心变得更加灵活.高效.XenServer 在提供了关键工作负载(操作系统.应用和配置)所需的先进功能的同时,不会牺牲大规模部署必需的易于操作的特点.利用独特的流技术,XenServer可通过虚拟或物理服务器快速交付各种工作负载,成为企业每台服务器的理想虚拟化平台. 而在2012年10月17日,北京--思杰公司日前宣布推出业界领先的企业级虚拟化平台XenS

  • xenserver虚拟机实时性能查看方法

    登陆服务器,执行脚本/opt/tools/real_time_status.sh:(该脚本的相关数据都是从xentop命令中提取的) #!/bin/bash # Program: # Real-time Performance # History: # 2014/09/29 caishunzhi First release DIR="/opt/tools" HOSTNAME=`/bin/hostname` SORT=${1:-4} NUM=${2:-6} function get_pe

  • XenServer6.0中虚拟机设置自动启动的方法

    前言 众所周知在XenServer的较早前版本(6.0以前)中,启动XenServer时,可以选择自动启动在其中安装的虚拟机.这个功能在XenServer 6.0中被Citrix取消了,原因是会干扰到XenServer的HA(高可用性)和Failover(故障转移)功能的兼容性.但是,如果只运行一个XenServer,这个功能还是非常好的. 在XenServer 6.0中,自动启动虚拟机仍然是可以办到的.这需要在"Pool Level"上开启自启动功能,并且,在需要自启动的虚拟机上使用

  • Ubuntu上使用Netdata设置实时性能监控的详细流程

    介绍 Netdata通过可扩展的Web仪表板提供准确的性能监控,可以显示Linux系统上的流程和服务.它监控有关CPU,内存,磁盘,网络,进程等的指标. Netdata一旦安装就不需要额外的配置,但提供了重要的定制.该应用程序的效率和速度旨在与本机控制台管理工具(如vmstat,iostat和htop)相媲美. 本教程中的步骤涵盖了使用其内置Web服务器或可选地使用Nginx成功设置运行Netdata的一台Ubuntu 16.04服务器所需的一切. 准备 要学习本教程,您需要: 一个Ubuntu

  • Linux服务器网卡流量查看方法 shell和Python各一枚

    有时我们需要较为实时的查看服务器上的网卡流量,这里我写了两个小脚本,一个用shell(先写的,一次只能查看一个网卡),另一个用Python(后写的,一次可查看多个网卡). 脚本中都用了while true"死循环",每隔10s从"/proc/net/dev"中取一次值并根据10s内的差值计算10s内的平均带宽:按ctrl+c停止执行.脚本兼容centos6和7 两个脚本都不太复杂,而且脚本中注释也比较细致,所以我就不过多解释脚本内容了. 直接上图上脚本: shell

  • 优化Apache服务器性能的方法小结

    测试与提高性能 Apache服务器已经被设计得尽可能的快,即使你用一台配置不高的机器,用不着进行太复杂的设置,它的响应内容就足以塞满以前的各种窄带连接.但随网站内容日益复杂和带宽的增加,对Apache进行优化以取得更好的性能变得日益重要起来. 如果优化的结果仅仅是极小的性能提升那真是浪费时间.试想一下,你花了好几个小时甚至几天调整Apache的各种参数但结果仅是几个百分点的性能提升?因此,在优化前你做的第一步应该是测试你目前的服务器的性能水平以便决定如何优化你的服务器并衡量优化的效果. 关于对A

  • 9种改善AngularJS性能的方法

    AngularJS 是目前使用非常广泛的 web app 应用框架,随着它的受欢迎程度持续上升 ,期待已久的AngularJS 4.0 诞生了.尽管已经做了很多优化,但几乎每个 Angular 专家仍然在处理使用 AngularJS 中出现的各种各样的问题. 目前,企业使用Web技术用在他们各自项目上,在线业务因此受到了极大影响.因此,有必要深入挖掘影响企业成长的各种因素. 但是,有可能不正确地使用 AngularJS 方法会影响你的应用程序在市场上的排名,因此 AngularJS 性能优化成为

  • inotify+rsync实现实时同步的方法

    1.1 什么是实时同步:如何实现实时同步 要利用监控服务(inotify),监控同步数据服务器目录中信息的变化 发现目录中数据产生变化,就利用rsync服务推送到备份服务器上 1.2 实现实时同步的方法 inotify+rsync 方式实现数据同步 sersync 方式实现实时数据同步 详情参照:sersync实现数据实时同步的方法 1.2.1 实时同步原理介绍 1.3 inotify+rsync 方式实现数据同步 1.3.1 Inotify简介 Inotify是一种强大的,细粒度的.异步的文件

  • sersync实现数据实时同步的方法

    1.1 第一个里程碑:安装sersync软件 1.1.1 将软件上传到服务器当中并解压 1.上传软件到服务器上 rz -E 为了便于管理上传位置统一设置为 /server/tools 中 2.解压软件包 [root@backup sersync_installdir_64bit]# tree . └── sersync ├── bin │ └── sersync ├── conf │ └── confxml.xml └── logs 1.1.2 二进制包安装方法 二进制包安装软件方法(绿色软件安

  • 服务器断电导致虚拟机数据丢失的恢复方法详解

    本文实例讲述了服务器断电导致虚拟机数据丢失的恢复方法.分享给大家供大家参考,具体如下: 在服务器运行过程中如果出现意外情况突然断电很容易引起服务器故障,服务器中的硬件设备损坏可以修复或者购买,但是服务器中的数据一旦发生故障丢失,对于企业来说将是不可估量的损失.那么服务器数据一旦丢失就除了痛哭之外别无他法了吗?不是的,下面我将引用一个真实案例为大家讲解意外断电导致服务器数据丢失的数据恢复方法和过程.文中若有歧义之处欢迎探讨. 虚拟机数据丢失情况描述 因服务器突然断电原因导致Xen Server服务

随机推荐