本站搜索
页面
分类
最新评论
- liangsuilong 发表于《写在KDE 4.5发布之后》
- Lancer 发表于《写在KDE 4.5发布之后》
- liangsuilong 发表于《VirtualBox的2D视频加速测试》
- 时代桃源 发表于《写在KDE 4.5发布之后》
- 淘宝网美白产品排行榜 发表于《写在KDE 4.5发布之后》
Linux
朋友们的blog
- A Thousand Mile
- apt-blog.net IT民工养成计划 PT博客
- Blinux
- CoffeeCat
- DCY--IT路上……
- DY Feng's Blog 叶毅锋的博客
- Felix's Blog
- HeliumCity The future, in the freedom.
- I’m TualatriX
- Jia Pad
- K.I.S.S. – 简单哲学
- Knowledge == Language
- sychopx
- Yayi's Word
- 七星庐
- 写真と嵐とヒマワリの旅人
- 小杰的博客
- 心之所在的日志
- 歪歪灰主流
- 毛毛's Blog
- 稳 – 不信未作牺牲竟先可拥有 只相信是靠双手找到我欲求
- 读书写字看风景
- 追梦
- 阳光灿烂的日子
-
最新日志
Tag Cloud
按标签归档:Linux
KVM-ON-KVM:Nested Virtualization
早前听Fai Wong (lazyfai)说起过KVM可以支持AMD SVM的nested virtualization,凭借着好奇心就折腾来玩玩。nested virtualization有不少学问值得探讨的,这里得感谢lazyfai为本人解答了。 在介绍KVM-ON-KVM前,本人得先说清楚nested paging和nested virtualization 的区别。因为本人在Google搜索KVM的nested virtualization发现很多是关于nested paging,但是实际上两者完全是两码事。还有很多老外都搞不清楚nested virtualization和nested paging,常常以为前者就是后者。 Nested Virtualization:实际就是在一个正在运行的虚拟机内安装多一个虚拟机,并且使之运行,有时也称之为 Nested VMs。 Nested Paging: 其作用就是为了把Guest的内存地址直接映射至Host的系统内存地址上,让CPU能够像读取实体系统的内存地址一样可以直接读取虚拟系统的内存地址。这种方案可以减轻了VMM因为内存地址转换的负担,提升内存读写性能。 从原理上说Nested Paging和Nested Virtualization是毫不相干的,所以本篇文章不会探讨前者。 Nested Virtualization并非KVM一家独有的技术,VMware的虚拟化软件同样支持Nested Virtualization,但是其技术无法无限地Nested下去。其第一层虚拟机必须使用VT-x/AMD-V硬件辅助虚拟化技术,而第二层虚拟机则必须使用传统的二进制软件转换的虚拟化技术。因此无法再运行第三层甚至更多层虚拟机。 相反KVM必须使用硬件辅助虚拟化技术,理论上可以无限地Nested下去,只要机器有足够的速度。KVM的Nested Virtualization暂时只能应用于AMD的处理器上,只要支持AMD-V虚拟化技术,就可以运行Nested Virtualization,包括老旧的K8架构,这与Nested Paging必须运行在K10架构上不同。从qemu-kvm的帮助选项上看出此特性紧限于AMD处理器。至于Intel的处理器什么时候支持Nested Virtualization,KVM说正在做,但是做了很久都还没有突破性消息。 -enable-nesting enable support for running a VM … 继续阅读
初探Firefox 4新特性
Google Chrome的诞生很大程度上改变了浏览器的发展历程,它提倡的简洁的界面设计和超强的页面处理能力现在已经成为浏览器设计的主流。Opera的界面设计多少有参考Chrome,处理性能更是有过之而无不及。国内的山寨浏览器同样把简洁作为浏览器界面的设计标准,同时也加入Webkit渲染引擎,保证了高速性能。Firefox同样需要更改,引入更强的JavaScript处理引擎,这才能保住市场份额。 Firefox 4最大的卖点是重新设计界面和引入JaegerMonkey引擎,在界面上,更多地跟上Chrome和Opera引领的潮流,甚至乎是完全拷贝自Opera,区别就在于FireFox的界面和各个系统上的界面有更好的整合度,窗口的标题栏完全融入成Firefox的一部分。延续了数年参考自IE6的Firefox界面终于要退休了。新的界面带来新的开始,Firefox要为自己的市场份额而重新启航。 Firefox 4.0 Beta 1的发布遴选版本已经泄漏出来了,从这个版本可以看出,Linux版本的默认界面基本没有大改变,默认倒是启用了Tabs On Top这个设计。现在还不可以把菜单栏隐藏到一个按钮上。此外导航栏的图标还没有更新,俨然就是一个rebrand自Firefox 3.7的一个版本。 对比一下原计划的设计图,还是有一段很大的距离。不过现在时间尚早,还有很多时间更改设计。 第一幅是Clearlook的: 第二张设计图是Ambiance,应该是给Ubuntu的吧 至于Windows版本,界面完成度要高出不少。虽然默认还是会保留着菜单栏,但是已经允许隐藏菜单栏了,出现了Firefox按钮。但是标题栏和Firefox按钮好像配搭有点问题。 计划的Windows XP的设计图: Windows 7似乎和Firefox有更好的界面整合度,看上去界面完成了一大半了。 要是附上Aero特效就更加完美,Firefox按钮还是老问题。来一张设计图: Mozilla对Firefox的界面下了很大的功夫,现在看起来这些功夫还是没有白费的。但是不得不说Firefox还有很多细节没有完成。比如说标题栏和Firefox按钮的整合,在小窗口页面就会出现下图这种很诡异的囧况。除了Windows平台以外,Linux的界面却比Windows慢了一个拍子,据说Mac平台的情况和Linux的差不多,紧紧多了个Tabs On Top。这方面就Firefox要抓紧时间了。 App Tabs可以说是Firefox 4的一大功能。这个特性有点类似Chrome的App Mode,但是又有一些不同。有点感觉是让用户自己把菜单栏和导航栏移走的感觉。当然Mozilla不会这么无聊的,那是担当云计算大任的特性,据说还可以把Firefox演变为本地的文件管理器呢。到最后这个App Tabs会是什么样子,我们拭目以待吧。 以下是一段Mozilla工程师的访谈,介绍Firefox的界面设计,WebM格式VP8编码的720P视频,只能支持在Firefox的nightly-build版本,Chrome的dev分支版本和Opera 10.60之后的版本观看。 您的浏览器不支持VP8编码WebM格式的HTML5视频,请到此处下载最新版本的浏览器。 Firefox 4另外一个最重要的特性就是引入JaegerMoneky引擎改善JavaScript性能,现在这是最热门的性能体现。Firefox的确比Chrome和Opera慢了一截,不过我个人觉得现有大部分的网络应用还不至于需要这么高的JavaScript性能,Firefox只要不落后太多就体验就不会差太多了。当然还是越快越好。 此前,黑日白月兄提及到现有的JavaScript性能测试对Firefox不太公平。因为Firefox的JavaScript引擎是支持乱序执行的,而大多数的测试是顺序执行的程序,其他浏览器也是专门为顺序执行而优化,所以Firefox跑这些测试的性能偏慢的原因,而其他测试反而差距不大。Mozilla Wiki的JaegerMonkey条目似乎也给出了他们的诚意,设计目标还真是不一般的高。 这里有一个国外的测试结果,在Ubuntu 10.04 LTS i386平台上测试的,Firefox 4.0 … 继续阅读
简谈VirtualBox 3.2 hypervisor新特性
VirtualBox 3.2已经发布了一段日子了,第一个维护版本VirtualBox 3.2.2也发布了,稳定性又往上提高了一点。这一次VirtualBox大升级似乎没有带来多少新桌面特性,最大的变化就是增加了多头显示和SAS磁盘控制器,更多的变化就看不出来了。实际上,VirtualBox做了很多很细微很底层的改进,为hypervisor增加了大量新特性,这些特性的好处显然是难以让用户发现的。本文借此机会,特意介绍VirtualBox 3.2 hypervisor的新特性。 一、Memory Ballooning Memory Balllooning是一种可加可减的内存机制,让用户自行动态地调节虚拟机内存量。这个特性必须在 VirtualBox 里安装了Guest Addition才能用。当用户请求虚拟机进行Memroy Ballooning的时候,Guest就会自动把系统内存的划出需要Balloon的内存量,返回给hypervisor保存备用,分给新启动的Guest使用。而这部分的内存量,Guest里的操作系统是不能再调用的。因此实际上Guest突然会增加了内存的使用量,这部分的大小和Balloon的内存量是一致的,然而这部分的内存并不属于系统内任何一个进程,只是被Balloon驱动预留起来。因为Host不再需要为新的Guest划分完整的内存容量,而是调用原来Guest Balloon的内存,所以从内存上也节省了。需要说明一点的是,VirtualBox的Memory Ballooning和其他大多数虚拟机一样并没有把Balloon的内存返回到Host,都是放在hypervisor上。所以在启动Guest以后Balloon内存是看不到Host的内存用量减少,除非是启动了第二个Guest。据我所知,暂时只有KVM是把Balloon的内存返回给Host,这可能是因为KVM是在内核里面的缘故吧。 默认情况下,Guest的Memory Ballloon是设为0的,如果需要Balloon的话,则可以打开终端输入以下命令: VBoxManage controlvm “vm name” guestmemoryballoon n vmname是虚拟机的名称,n是Balloon的内存量,以MB为单位。 如果想每次开机都默认Balloon一定量的内存,则可以在虚拟机关机的情况下使用以下命令: VBoxManage modifyvm “vmname” –guestmemoryballoon n 此时虚拟机启动后,所在进程的内存耗费量将会大减。该进程占用的内存是Guest内存总量,减去Balloon的内存量,加上Guest的显存量,加上少量VMM占用的内存量。如果想关闭Ballon,则把Balloon内存的数量设置为0就可以了。 最后补充一点,VirtualBox并不是动态自动调节Balloon内存的数量,这是需要用户自行手动调整的。此外,Memory Ballooning只能在64位Host上使用。 二、Page Fusion Page Fusion也是VirtualBox 3.2的一大特性之一, 目的是运行多个相同操作系统的Guest时减轻内存页面的负担。这个特性在商业级别的虚拟机很常见,但在桌面级的虚拟机还是第一次出现。很明显,VirtualBox是冲着VDI领域而来的。一般虚拟机会把这个特性称之为Same Page … 继续阅读
