KSM导致的警告“ ksmtuned .... read-only system ” 的一些说明

简介:

前段时间在一台测试服务器上安装了KVM,用于实验。没过几天发现满屏幕都是提示

".... ksmtuned .... read-only system ....."


于是google搜索了下,找到下面的文章:


转载自:http://www.searchvirtual.com.cn/showcontent_49324.htm

原因:KSM(Kernel samepage merging 内核同页合并)服务的启动导致的。

解决方法:

停止ksm相关进程即可。

/etc/init.d/ksm stop

/etc/init.d/ksmtuned  stop

chkconfig ksm off

chkconfig ksmtuned off


原理或说明:


KVM中最重要的参数是内核同页合并(kernel samepage merging ,KSM),这一特性允许内核更有效地处理内存。

KSM允许Linux内核识别出包含相同内容的内存页,然后合并这些内存页,将数据整合在一个位置可以多次引用。

如果在主机上使用KVM,通常会激活数个客户操作系统,而且这些操作系统经常运行相同的OS,这意味着大量的内核页面被多次加载。

通过应用KSM,许多虚拟机可以使用相同数量的内存启动。事实上,KSM允许虚拟机过度分配内存。

但是使用KSM存在性能损失,在一般的环境中,性能损失大概是10%,这也是在某些环境中关闭KSM的原因。


在RHEL 6和Fedora 14中,KSM默认是打开的。KSM通过两个服务:ksmd和ksmtuned实现,这两个服务在系统初始化时自动启动。管理员应该判断他们的环境并决定保持KSM处于运行状态还是关闭它。


决定使用KSM还是关闭:

如果目标是运行尽可能多的虚拟机,而且性能不是问题,应该保持KSM处于运行状态。例如KSM允许运行30个虚拟机的主机上运行40个虚拟机,这意味着最大化硬件使用效率。

但是,如果服务器在运行相对较少的虚拟机并且性能是个问题时,那么应该关闭KSM。


对任何系统来说,最佳选择将取决于创建虚拟环境时的内存估算。

如果在虚拟主机中有足够的物理内存,在没有开启KSM时就能够满足虚拟机的内存需求,那么最好关闭KSM。

使用chkconfig ksmd off, chkconfig ksmtuned off, service ksmd off , service ksmtuned off 命令关闭KSM。但是如果主机内存紧张,那么最好保持KSM处于运行状态。

优化KSM达到最佳性能:

开启KSM的话,可以继续修改一些参数以达到最佳性能。

这些参数位于一个小的配置文件/etc/ksmtuned.conf中:

# 优化KSM的配置文件 

# 优化调整之间应休眠多长时间 

# KSM_MONITOR_INTERVAL=60 

# 在扫描16Gb服务器之间ksm休眠的毫秒数

# 内存较小的服务器休眠的时间更长,内存较大的服务器休眠时间更短。

# KSM_SLEEP_MSEC=10 

# KSM_NPAGES_BOOST=300 

# KSM_NPAGES_DECAY=-50 

# KSM_NPAGES_MIN=64 

# KSM_NPAGES_MAX=1250 

# KSM_THRES_COEF=20 

# KSM_THRES_CONST=2048 

#如果你想获取优化KSM的调试信息,取消以下注释 

# LOGFILE=/var/log/ksmtuned # DEBUG=1 

配置文件中最重要的参数是KSM_SLEEP_MSEC。


Fedora 14使用的默认值是大型服务器的设置值。当在主机上运行较少的虚拟机,使用KSM时最好让主机休眠更长的时间。例如,尝试设置KSM_SLEEP_MSEC=50,然后测试对虚拟机的影响。











本文转自 lirulei90 51CTO博客,原文链接:http://blog.51cto.com/lee90/1852268,如需转载请自行联系原作者
目录
相关文章
|
安全 Linux Shell
Read-only file system 问题分析与解决
Read-only file system 问题分析与解决
Read-only file system 问题分析与解决
|
4月前
|
JavaScript 前端开发
报错:Cannot read properties of undefined (reading ‘$message‘)解决方法
以上就是解决"Cannot read properties of undefined (reading ‘$message‘)"错误的几种方法,希望对你有所帮助。
2957 0
|
5月前
|
缓存
Error: EIO: i/o error, read如何解决
Error: EIO: i/o error, read如何解决
|
安全 Linux Shell
Read-only file system 问题分析与解决| 学习笔记
快速学习 Read-only file system 问题分析与解决。
 Read-only file system 问题分析与解决| 学习笔记
|
数据库连接 数据库 C++
|
Linux
Linux 执行partprobe命令时遇到Unable to open /dev/sr0 read-write (Read-only file system)
在使用fdisk创建分区时,我们会使用partprobe命令可以使kernel重新读取分区信息,从而避免重启系统,但是有时候会遇到下面错误信息“Warning: Unable to open /dev/sr0 read-write (Read-only file system).
3306 0