如何管理kvm虚拟机的时钟源
概述
有很多时钟源可用于硬件虚拟机 (HVM) 实例,例如 Xen、时间戳计数器 (TSC)、高精度事件时间 (HPET) 或高级配置和电源接口规范 (ACPI)。对于windows虚拟机 ,最佳实践是使用 tsc 时钟源。
1.列出宿主机时钟源,查看available_clocksource:
cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc hpet acpi_pm
2.将当前时钟源设置为不同的值
- 作为超级用户运行 bash 以覆盖 current_clocksource:
sudo bash -c 'echo tsc > /sys/devices/system/clocksource/clocksource0/current_clocksource'
- 运行 dmesg 命令查看内核消息:
dmesg | less
如果覆盖成功,将显示此消息:
clocksource: Switched to clocksource tsc
注意:重启系统会导致 Linux 内核重置时钟源。
3.在系统启动加载程序期间设置时钟源
- 在内核命令行参数中设置 clocksource。
例如: 如果使用 grub2 并且您想要将时钟源设置为“tsc”,请编辑 /etc/default/grub 文件,并为 GRUB_CMDLINE_LINUX 选项添加 clocksource=tsc tsc=reliable:
GRUB_CMDLINE_LINUX="console=tty0 crashkernel=auto console=ttyS0,115200 clocksource=tsc tsc=reliable"
- 生成 grub.cfg 文件:
grub2-mkconfig -o /boot/grub2/grub.cfg
4.rating:时钟源的精度
同一个设备下,可以有多个时钟源,每个时钟源的精度由驱动它的时钟频率决定,比如一个由10MHz时钟驱动的时钟源,他的精度就是100nS。clocksource结构中有一个rating字段,代表着该时钟源的精度范围,它的取值范围如下:
1--99: 不适合于用作实际的时钟源,只用于启动过程或用于测试;
100--199:基本可用,可用作真实的时钟源,但不推荐;
200--299:精度较好,可用作真实的时钟源;
300--399:很好,精确的时钟源;
400--499:理想的时钟源,如有可能就必须选择它作为时钟源;
linux-4.0.4/arch/x86/kernel/kvmclock.c,kvm-clock的rating是400;
linux-4.0.4/arch/x86/kernel/tsc.c中,tsc的rating是300;
linux-4.0.4/arch/x86/kernel/hpet.c中,hpet的rating是250;
linux-4.0.4/drivers/clocksource/acpi_pm.c中,acpi_pm的rating是200;
linux-4.0.4/drivers/clocksource/i8253.c中,pit的rating是110。
综上,Linux大致实现了clocksource的管理框架,各个timer实现自己的drvier,并注册到clocksource中。根据rating来看timer的性能:kvmclock>tsc>hpet>acpi_pm>pit
。
参考:
How to change the clock source in the system
为什么guest虚拟机需要精确的时钟
clocksource的管理和虚拟化
Linux时间子系统之一:clock source(时钟源)
如何管理kvm虚拟机的时钟源相关推荐
- RHEL6.2上使用 libvirt创建和管理KVM虚拟机
在2010年4月发布的RHEL 6.0 Beta版中 ,去掉了Xen,这也许是第一个不包含Xen Hypervisor的知名Linux发行版,之前有报道过Red Hat有可能会在RHEL 6.0中用K ...
- linux命令行模式kvm,Linux命令行管理KVM虚拟机【一】 | C/C++程序员之家
Linux命令行管理KVM虚拟机,几个常见的Linux-KVM虚拟机 管理命令,保存备用,方便快速部署搭建Linux开发环境,搞来搞去还是Linux下虚拟化好使,方便Linux和Win! virsh ...
- CentOS7 安装管理KVM虚拟机
为什么80%的码农都做不了架构师?>>> 系统:CentOS7 64位 [root@e3 ~]# cat /etc/redhat-release CentOS Linux re ...
- virsh 关机_使用virsh管理KVM虚拟机
使用QEMU/KVM虚拟化平台启动虚拟机,通常需要手动输入一行很长的命令,里面可能有几十个参数,要想启动多个虚拟机,以及监视多个虚拟机运行状态会非常困难,这时候就需要virsh这样一个虚拟机的管理工具 ...
- x-manager 管理 kvm虚拟机
yum groupinstall GNOME Desktop yum install dejavu-lgc-sans-fonts yum install -y virt-manager kvm命 ...
- 【收藏】linux下用命令方式创建及管理kvm虚拟机
virt-install --virt-type=kvm --name=centos7-2 --vcpus=2 --memory=2048 --location=/root/iso/CentOS-8. ...
- Centos7.4安装kvm虚拟机(使用virt-manager管理)
2019独角兽企业重金招聘Python工程师标准>>> Centos7.4安装kvm虚拟机(使用virt-manager管理) 之前介绍了使用WebVirtMgr或Openstack ...
- Linux内核深入理解定时器和时间管理(6):x86_64 相关的时钟源(kvm-clock,tsc,acpi_pm,hpet)
Linux内核深入理解定时器和时间管理 x86_64 相关的时钟源(kvm-clock,tsc,acpi_pm,hpet) rtoax 2021年3月 在原文基础上,增加5.10.13内核源码相关内容 ...
- KVM虚拟机快速入门
##kvm虚拟化 1.1 kvm 虚拟化介绍 什么是虚拟化 在计算机技术中,虚拟化技术或虚拟技术(virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU,内存,磁盘空间 ...
最新文章
- [CSS]关于z-index与position的一次奇异经历
- 使用juniversalchardet做字符编码识别
- BugkuCTF-Reverse题特殊的Base64
- 微信公众平台服务器 反馈,微信公众号开发之大坑
- Java 11新特性
- 用vs命令提示符来使用 Installutil.exe来安装和卸载Windows服务
- 55岁自学python编程-热门专业三年一换?奥鹏教育解析编程还能火多久
- C编程语言中运算符介绍
- 这样的书 我改怎么起名呢?
- 同时起两个mysql 起不了_两大龙头同时提价,6月起下游订单V字反转,份额都倾向这两家...
- hutool实战(带你掌握里面的各种工具)目录
- 《从零走向专业,面试产品经理岗位必须掌握的7个高效方法》
- Office中常见度量单位(转)
- 【移动网络】5G NR: 压缩设计与帧结构等核心操作特性
- C语言每日一练——第10天:求一个矩阵主对角线及副对角线元素之和
- 高三计算机教学计划,高三信息技术上册教学计划参考
- Matlab 图像像素级标注
- 【菜鸟dei学习】Nginx简单配置:负载均衡与动静分离
- 基于三维激光扫描技术的古建筑测绘工作
- 两表互为外键的解决方案