kvm-GT
REF:
http://los-vmm.sc.intel.com/wiki/How-to-setup-kvmgt
http://xenvgt.sh.intel.com/image/bdw-h/
Host display backgroud
$ grep i915.enable_vgtbuffer=1 /boot/grub/grub.cfg
linux /boot/vmlinuz-4.3.0-rc6-vgt+ root=UUID=d686a051-44ac-4e28-ba33-c715d9944852 ro intel_iommu=igfx_off i915.hvm_boot_foreground=0 i915.enable_vgtbuffer=1
$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.3.0-rc6-vgt+ root=UUID=d686a051-44ac-4e28-ba33-c715d9944852 ro intel_iommu=igfx_off i915.hvm_boot_foreground=0 i915.enable_vgtbuffer=1
# echo 0 > /sys/kernel/vgt/control/foreground_vm
The main qemu code:
qemu-igvtg/hw/display/vgt_vga.c
kernal code:
drivers/gpu/drm/i915/i915_gem_vgtbuffer.c
qemu can use flink or dambuffer to get framebuffer.
some related tools
$ glxinfo
$ echo $DISPLAY
:0
$ glxinfo
name of display: :0
libGL error: pci id for fd 4: 8086:1926, driver (null)
i965_dri.so does not support the 0x1926 PCI ID.
$ apt-get install glmark2
$ glmark2
$ cat /etc/X11/xinit/xserverrc
#!/bin/sh
exec /usr/bin/X "$@"
After an upgrade to 12.04, I had the same issue. This time, the culprit is the lightdm that the system uses. The file that needs to be updated is /etc/lightdm/lightdm.conf and the required addition is a xserver-allow-tcp=true in the [SeatDefaults] section.
$ cat /etc/lightdm/lightdm.conf
[Seat:*]
autologin-guest=false
autologin-user=ubuntu
autologin-user-timeout=0
autologin-session=lightdm-autologin
xserver-allow-tcp=true
xserver-command=X -listen tcp
重新启动lightdm或者重启机器
重启后,需要执行以下命令:
$ xhost +
将这个代码加入到sshd机器的~/.bashrc
TTY=`tty`
TTY=${TTY#/dev/}
echo "current tty is: $TTY"
REMOTE=`who |grep "$TTY "`
REMOTE=${REMOTE##*\(}
REMOTE=${REMOTE%)}
echo "The login user is from: $REMOTE"
echo "The org DISPLAY=$DISPLAY"
if [[ "${DISPLAY%:*}" == "localhost" ]]; then
echo "Guess you are using X11-forwarding, do not change DISPLAY."
elif [ -n "${REMOTE%:0}" ] && [ -z "${DISPLAY%:*}" ]; then
echo "reset DISPLAY=$REMOTE:0.0"
echo "if you are use mobaxterm, you may need to set:"
echo "$ export DISPLAY=$REMOTE:n.0"
echo "if you are using X11-forwarding, please run:"
echo "$ export DISPLAY=localhost:10.0"
export DISPLAY=$REMOTE:0.0
fi
查看GPU的资源使用率。
$ sudo ipython -c '
res = [0] * 6
with open("/sys/kernel/vgt/control/available_resource") as f:
res = map(lambda x: int(x, base=0), f.readline().split(","))
print dict(
zip(["total_low_mem", "available_low_mem", "total_high_mem",
"available_high_mem", "total_fence", "available_fence"], res))
'
kvm-GT的更多相关文章
- [原] KVM 虚拟化原理探究(1)— overview
KVM 虚拟化原理探究- overview 标签(空格分隔): KVM 写在前面的话 本文不介绍kvm和qemu的基本安装操作,希望读者具有一定的KVM实践经验.同时希望借此系列博客,能够对KVM底层 ...
- 基于本地存储的kvm虚拟机在线迁移
基于本地存储的kvm虚拟机在线迁移 kvm虚拟机迁移分为4种(1)热迁移基于共享存储(2)热迁移基于本地存储(3)冷迁移基于共享存储(4)冷迁移基于本地存储 这里介绍的是基于本地存储的热迁移 动态块迁 ...
- [原] KVM 虚拟化原理探究 —— 目录
KVM 虚拟化原理探究 -- 目录 标签(空格分隔): KVM KVM 虚拟化原理探究(1)- overview KVM 虚拟化原理探究(2)- QEMU启动过程 KVM 虚拟化原理探究(3)- CP ...
- [原] KVM 虚拟化原理探究(6)— 块设备IO虚拟化
KVM 虚拟化原理探究(6)- 块设备IO虚拟化 标签(空格分隔): KVM [toc] 块设备IO虚拟化简介 上一篇文章讲到了网络IO虚拟化,作为另外一个重要的虚拟化资源,块设备IO的虚拟化也是同样 ...
- [原] KVM 虚拟化原理探究(5)— 网络IO虚拟化
KVM 虚拟化原理探究(5)- 网络IO虚拟化 标签(空格分隔): KVM IO 虚拟化简介 前面的文章介绍了KVM的启动过程,CPU虚拟化,内存虚拟化原理.作为一个完整的风诺依曼计算机系统,必然有输 ...
- [原] KVM 虚拟化原理探究(4)— 内存虚拟化
KVM 虚拟化原理探究(4)- 内存虚拟化 标签(空格分隔): KVM 内存虚拟化简介 前一章介绍了CPU虚拟化的内容,这一章介绍一下KVM的内存虚拟化原理.可以说内存是除了CPU外最重要的组件,Gu ...
- [原] KVM 虚拟化原理探究(3)— CPU 虚拟化
KVM 虚拟化原理探究(3)- CPU 虚拟化 标签(空格分隔): KVM [TOC] CPU 虚拟化简介 上一篇文章笼统的介绍了一个虚拟机的诞生过程,从demo中也可以看到,运行一个虚拟机再也不需要 ...
- [原] KVM 虚拟化原理探究(2)— QEMU启动过程
KVM 虚拟化原理探究- QEMU启动过程 标签(空格分隔): KVM [TOC] 虚拟机启动过程 第一步,获取到kvm句柄 kvmfd = open("/dev/kvm", O_ ...
- [原] KVM虚拟机网络闪断分析
背景 公司云平台的机器时常会发生网络闪断,通常在10s-100s之间. 异常情况 VM出现问题时,表现出来的情况是外部监控系统无法访问,猜测可能是由于系统假死,OVS链路问题等等.但是在出现网络问题的 ...
- [原] KVM 环境下MySQL性能对比
KVM 环境下MySQL性能对比 标签(空格分隔): Cloud2.0 [TOC] 测试目的 对比MySQL在物理机和KVM环境下性能情况 压测标准 压测遵循单一变量原则,所有的对比都是只改变一个变量 ...
随机推荐
- android JNI调用 execlp函数
execlp()函数 execlp函数简单的来说就是C语言中执行系统命令的函数 execlp()会从PATH 环境变量所指的目录中查找符合参数file 的文件名, ...
- Red and Black(BFS or DFS) 分类: dfs bfs 2015-07-05 22:52 2人阅读 评论(0) 收藏
Description There is a rectangular room, covered with square tiles. Each tile is colored either red ...
- Mod_python: The Long Story
mod_python: the long story - Grisha Trubetskoy Mod_python: The Long Story Oct 25th, 2013 | Comments ...
- python语言磁力搜索引擎源码公开,基于DHT协议
原文地址: http://www.cnblogs.com/huangxie/p/5550680.html
- wso2esb源码编译总结
最近花了两周的空闲时间帮朋友把wso2esb的4.0.3.4.6.0.4.7.0三个版本从源码编译出来了.以下是大概的一些体会. wso2esb是基于carbon的.carbon是个基于eclipse ...
- C#中对输出格式的初始化
一.在输出的时候,\t和8个空格是不一样的,\t是跳转到下一个水平制表符,如果你在第一个水平制表符中写有数据123,那么跳转后跳转到9的位置上,中间只有5个空格,但是如果用8个空格来做分割的话,就会有 ...
- Intent中的重要属性详解
Intent中的四个重要属性主要有四个,分别是Action.Data.Category.Extras. Intent作为联系各Activity,BroadcaseReciver,Service之间的纽 ...
- Foundation--NSArray+NSMutableArray
C语言中数组只能存放一种类型 OC语言中数组可以存放多种类型,但是只能是对象类型,不可以是基本类型 我们实际中最好在一个数组中只存放一种类型的元素 nil表示数组的结尾,所以我们不能填写值为nil的对 ...
- Spring-----7、bean实例的创建方式及依赖配置
转载自:http://blog.csdn.net/hekewangzi/article/details/45648579
- MySql数据库学习--存储过程(1)
在MySQL 5中,终于引入了存储过程这一新特性,这将大大增强MYSQL的数据库处理能力.在本文中将指导读者快速掌握MySQL 5的存储过程的基本知识,带领用户入门. 存储过程介绍 存储过程是一组为了 ...