kvm文件管理及性能优化(代码片段)

author author     2022-12-26     207

关键词:

  • KVM文件管理

通过文件管理可以直接查看、修改、复制虚拟机的内部文件。例如:系统因为配置问题无法启动时,可以直接修改虚拟机的文件。虚拟机的磁盘文件有 raw和 qcow2 两种格式。 KVM默认格式是raw,raw格式性能最好、速度最快,其缺点是不支持一些新的功能,如镜像、Zlib磁盘压缩、AES加密等

文件管理

转换磁盘格式
# qemu-img info /vdir/c01.raw //查看当前磁盘格式
# virsh shutdown c01  //转换磁盘格式前必须先关闭虚拟机
# qemu-img convert -f raw -O qcow2 /vdir/c01.raw /vdir/c01.qcow2  //将raw格式转换为qcow2格式
# qemu-img info /vdir/c01.qcow2  

技术分享图片
技术分享图片
技术分享图片

修改c01的配置文件
# virsh edit c01  //修改虚拟机信息

技术分享图片

# yum install libguestfs-tools -y //安装命令工具
# virt-cat -a /vdir/c01.qcow2 /etc/hostname    //查看虚拟机主机名
# virt-df -h c01   //查看挂载状况
# virt-edit -a /vdir/c01.qcow2 /etc/resolv.conf   //编辑DNS客户机配置文件

技术分享图片
技术分享图片
技术分享图片

创建克隆

# virsh shutdown c01  //创建克隆前先关闭虚拟机
# virt-clone -o c01 -n test01 -f /vdir/test01.qcow2   //创建c01的克隆虚拟机

技术分享图片

虚拟机快照

# virsh start c01   //创建快照前开启虚拟机
# virsh snapshot-create c01  //创建快照
# virsh snapshot-current c01   //查看当前快照
# virsh snapshot-list c01   //查看快照信息
# virsh snapshot-create c01  //再创建一个快照
# virsh snapshot-revert c01 1533966938 //恢复快照
# virsh snapshot-delete c01 1533966938  //删除快照
# virsh snapshot-list c01

技术分享图片
技术分享图片

KVM性能优化

内存优化

KSM(相同页合并)开启KSM会将相同的内存合并
内存分配的最小单位是 page(页面),默认大小是4KB。可以将host机内容相同的内存合并,以节省内存的使用。

# cd /sys/kernel/mm/ksm/     //可查看内存页共享
  pages_shared  //KSM共享的总页面数
  pages_sharing  //当前共享页面数
# echo 1 > run     //临时开启
# cat run   //查看KSM是否开启  0为关闭   1为开启
# echo 1000 > pages_to_scan       // 决定每次查看多少个页面  默认100  最大不超过2000   越大越好

技术分享图片

内存限制

为了防止某个虚拟机无节制的使用资源

# virsh memtune c01    //查看内存限制
# virsh memtune c01 --hard-limit 4096000000 --live   //强制最大限制为4G
# virsh memtune c01

技术分享图片
技术分享图片

大页后端内存

大页指的是内存的大页面。内存采用的是分页机制,内存默认的页面大小都是4KB,4KB 也就是所谓的小页面。但是随着计算机的硬件发展,现在的内存基本上都是几十G 甚至上百G了,虽然,如果还是4KB小页的方式,那么必然会存在一些问题,影响性能。

# cat /proc/meminfo  //查看内存
# echo 25000 > /proc/sys/vm/nr_hugepages  //大页需要的内存页面数
# cat /proc/meminfo | grep HugePages

技术分享图片
技术分享图片
技术分享图片

编辑虚拟机的XML配置文件来使用大页分配内存
# virsh edit c01    //编辑xml配置文件
    <currentMemory unit=‘KiB‘>2097152</currentMemory>
    <memoryBacking><hugepages/></memoryBacking>     //添加使用大页
    <vcpu placement=‘static‘>1</vcpu>

技术分享图片

I/O优化

控制每台虚拟机对磁盘资源的消耗

调整I/O的权重权重越高写入磁盘的优先级越高

# virsh blkiotune c01  //查看权重
# virsh blkiotune c01 --weight 500  //设置权重为500
# virsh blkiotune c01

技术分享图片

系统调优工具

用来监控和收集系统各个组件的数据,并依据数据提供的信息动态调整系统设置,达到动态优化系统的目的

# yum install tuned -y  //安装tuned工具
# service tuned start   //开启
# tuned-adm active    //查看当前状态
# tuned-adm list   //查看解决方案

技术分享图片

实操干货kvm命令管理虚拟机与性能优化(代码片段)

...、virsh-h#查看命令帮助2)、ls/etc/libvirt/qemu#查看KVM的配置文件存放目录(虚拟机系统实例配置文件的文件名为.xml)3)、virshlist#查看虚拟机状态;只查看运行的虚拟机状态4)、virshlist--all#查看所有虚拟机状态 查看详情

kvm性能优化(代码片段)

...的总数目不要超过物理机CPU的总数目。如果超过,则将对性能带来严重影响,建议选择复制主机CPU配置内存优化1、KSM(相同页)内存分配的最小单位是page(页面),默认大小是4KB。可以将host机内容相同的内存合并,以节省内存... 查看详情

kvm性能优化(代码片段)

...)Ring3为用户态;Ring0为内核态,Ring3的用户态是没有权限管理硬件的,需要切换到内核态Ring0,这样的切换(系统调用)称为上下文切换。物理机到虚拟机多次的上下文切换,势必会导致性能出现问题。对于全虚拟化,inter实现 查看详情

kvm性能优化(代码片段)

一、KVM为什么要调优性能的损耗是关键。KVM采用全虚拟化技术,全虚拟化要由一个软件来模拟硬件,故有一定的损耗,特别是I/O,因此需要优化。KVM性能优化主要在CPU、内存、I/O这几方面。当然对于这几方面的优化,也是要分场... 查看详情

实操kvm虚拟机的优化历程---按需优化(代码片段)

一、KVM为什么要调优性能的损耗是矛盾的根源,KVM采用全虚拟化技术,全虚拟化要由一个软件来模拟硬件层,故有一定的损耗,特别是I/O输入输出。KVM性能优化主要在CPU、内存、I/O这几方面,当然在这几方面也是要分场景的,不... 查看详情

kvm虚拟化技术详解--kvm的优化(代码片段)

...,还要保证每台虚拟机使用CPU资源时不会越界而导致系统管理异常;还要从虚拟机的网络消耗来考虑确保网络传输通畅,以及服务在运行时网络的可靠性保证等;最后还要从虚拟机硬盘的IO速率来考虑,保证数据传输时的IO高可... 查看详情

android进阶——性能优化之bitmap位图内存管理及优化概述(代码片段)

文章大纲引言一、Bitmap概述二、Bitmap家族的重要成员对象1、Bitmap2、Bitmap.Config3、Bitmap.CompressFormat4、BitmapFactory5、BitmapFactory.Options6、BitmapRegionDecoder7、BitmapShader三、Bitmap的内存1、图片的像素与内存四、位图的底层存储位置五、Bitm... 查看详情

android进阶——性能优化之bitmap位图内存管理及优化概述(代码片段)

文章大纲引言一、Bitmap概述二、Bitmap家族的重要成员对象1、Bitmap2、Bitmap.Config3、Bitmap.CompressFormat4、BitmapFactory5、BitmapFactory.Options6、BitmapRegionDecoder7、BitmapShader三、Bitmap的内存1、图片的像素与内存四、位图的底层存储位置五、Bitm... 查看详情

android进阶——性能优化之bitmap位图内存管理及优化概述(代码片段)

文章大纲引言一、Bitmap概述二、Bitmap家族的重要成员对象1、Bitmap2、Bitmap.Config3、Bitmap.CompressFormat4、BitmapFactory5、BitmapFactory.Options6、BitmapRegionDecoder7、BitmapShader三、Bitmap的内存1、图片的像素与内存四、位图的底层存储位置五、Bitm... 查看详情

kvm命令集与优化(代码片段)

(一)使用KVM命令集管理虚拟机1:KVM基本功能管理(1)查看命令帮助[[email protected]~]#virsh-hvirsh[options]...[<command_string>]virsh[options]...<command>[args...].../省略部分内容2:查看KVM的配置文件存放目录[[email protected] 查看详情

kvm虚拟机性能调优(代码片段)

kvm虚拟机性能调优kvm性能优化,主要集中在cpu、内存、磁盘、网络,4个方面,当然对于这里面的优化,也是要分场景的,不同的场景其优化方向也是不同的,下面具体聊聊这4个方面的优化细节。1.CPUcpu优... 查看详情

android进阶——性能优化之bitmap位图内存管理及优化(代码片段)

引言位图一、Bitmap概述Bitmap直接继承Object并实现了Parcelable接口,是用于描述图片内部像素、像素类型、像素内部存储的编码格式、长、宽、颜色等一系列描述信息的对象,是Android中一切图形图像与硬件关联的重要对象&#x... 查看详情

android进阶——性能优化之bitmap位图内存管理及优化(代码片段)

引言位图一、Bitmap概述Bitmap直接继承Object并实现了Parcelable接口,是用于描述图片内部像素、像素类型、像素内部存储的编码格式、长、宽、颜色等一系列描述信息的对象,是Android中一切图形图像与硬件关联的重要对象&#x... 查看详情

kvm的管理命令(代码片段)

KVM使用virsh的日常管理命令:1>查看kvm虚拟机配置文件及运行状态kvm虚拟机的配置文件位置:/etc/libvirt/qemu/kvm虚拟机开机自启动目录:/etc/libvirt/qemu/networks/autostart/virsh的帮助信息:[[email protected]~]#virsh-help进入virsh的交互界面... 查看详情

kvm虚拟化的优化(代码片段)

KVM调优思路性能的损耗是矛盾的根源,KVM采用全虚拟化技术,全虚拟化要由一个软件来模拟硬件层,故有一定的损耗,特别是I/O输入输出。KVM性能优化主要在CPU、内存、I/O这几方面,当然在这几方面也是要分场景的,不同场景优... 查看详情

influxdb内存消耗分析及性能优化(代码片段)

...构及其作用举个例子:优缺点基于磁盘的倒排索引-TSI文件TSI文件的作用TSI文件的结构Influxdb中基于磁盘的倒排索引文件TSI结构解析TimeSeriesIndex( 查看详情

influxdb内存消耗分析及性能优化(代码片段)

...构及其作用举个例子:优缺点基于磁盘的倒排索引-TSI文件TSI文件的作用TSI文件的结构Influxdb中基于磁盘的倒排索引文件TSI结构解析TimeSeriesIndex( 查看详情

十分良心!全网最详细的java自动内存管理机制及性能优化教程(代码片段)

...完本文 一、运行时数据区域首先来看看Java虚拟机所管理的内存包括哪些区域,就像我们要了解一个房子,我们得先知道这个房子大体构造。根据《Java虚拟机规范(JavaSE7版)》的规定,请看下图: Java虚拟机运行时数据... 查看详情