<div class="__aliyun_email_body_block"><div style="clear: both;"><span style="font-family: Tahoma, Arial, STHeiti, SimSun; font-size: 14px; color: rgb(0, 0, 0);">host&nbsp;xxx&nbsp;did&nbsp;no&nbsp;satisfy&nbsp;internal&nbsp;filter&nbsp;Memory&nbsp;because&nbsp;its&nbsp;swap&nbsp;value&nbsp;was&nbsp;illegal.<br ><br >###&nbsp;Description&nbsp;###<br >1.&nbsp;problem<br >1)&nbsp;migrate&nbsp;vm&nbsp;{name:xyz001,&nbsp;mem(min,&nbsp;max)&nbsp;=&nbsp;(2G,4G)}&nbsp;from&nbsp;ovirt&nbsp;host&nbsp;n33&nbsp;to&nbsp;n34,&nbsp;failed.<br >2)&nbsp;shutting&nbsp;down&nbsp;vm&nbsp;{name:&nbsp;test001,&nbsp;mem(min,&nbsp;max)&nbsp;=&nbsp;(1G,1G)}&nbsp;on&nbsp;n34,&nbsp;update&nbsp;test001's&nbsp;config:&nbsp;Host-&gt;Start&nbsp;Running&nbsp;On:&nbsp;Specific(n34),&nbsp;then&nbsp;start&nbsp;test001,&nbsp;while,&nbsp;it's&nbsp;running&nbsp;on&nbsp;n33.<br ><br >2.&nbsp;err&nbsp;message&nbsp;<br >Error&nbsp;while&nbsp;executing&nbsp;action:&nbsp;migrate&nbsp;<br >[engine&nbsp;gui]<br >xyz001:<br >Cannot&nbsp;migrate&nbsp;VM.&nbsp;There&nbsp;is&nbsp;no&nbsp;host&nbsp;that&nbsp;satisfies&nbsp;current&nbsp;scheduling&nbsp;constraints.&nbsp;See&nbsp;below&nbsp;for&nbsp;details:<br >The&nbsp;host&nbsp;n33.ovirt&nbsp;did&nbsp;not&nbsp;satisfy&nbsp;internal&nbsp;filter&nbsp;Memory&nbsp;because&nbsp;has&nbsp;availabe&nbsp;1863&nbsp;MB&nbsp;memory.&nbsp;Insufficient&nbsp;free&nbsp;memory&nbsp;to&nbsp;run&nbsp;the&nbsp;VM.<br >The&nbsp;host&nbsp;n34.ovirt&nbsp;did&nbsp;not&nbsp;satisfy&nbsp;internal&nbsp;filter&nbsp;Memory&nbsp;because&nbsp;its&nbsp;swap&nbsp;value&nbsp;was&nbsp;illegal.<br ><br ><br >[engine.log]<br >INFO&nbsp;&nbsp;[org.ovirt.engine.core.bll.MigrateVmCommand]&nbsp;(default&nbsp;task-23)&nbsp;[5916aa3b]&nbsp;Lock&nbsp;Acquired&nbsp;to&nbsp;object&nbsp;'EngineLock:{exclusiveLocks='[73351885-9a92-4317-baaf-e4f2bed1171a=&lt;VM,&nbsp;ACTION_TYPE_FAILED_VM_IS_BEING_MIGRATED$VmName&nbsp;test11&gt;]',&nbsp;sharedLocks='null'}'<br >INFO&nbsp;&nbsp;[org.ovirt.engine.core.bll.scheduling.SchedulingManager]&nbsp;(default&nbsp;task-23)&nbsp;[5916aa3b]&nbsp;Candidate&nbsp;host&nbsp;'n34'&nbsp;('2ae3a219-ae9a-4347-b1e2-0e100360231e')&nbsp;was&nbsp;filtered&nbsp;out&nbsp;by&nbsp;'VAR__FILTERTYPE__INTERNAL'&nbsp;filter&nbsp;'Memory'&nbsp;(correlation&nbsp;id:&nbsp;null)<br >INFO&nbsp;&nbsp;[org.ovirt.engine.core.bll.scheduling.SchedulingManager]&nbsp;(default&nbsp;task-23)&nbsp;[5916aa3b]&nbsp;Candidate&nbsp;host&nbsp;'n33'&nbsp;('688aec34-5630-478e-ae5e-9d57990804e5')&nbsp;was&nbsp;filtered&nbsp;out&nbsp;by&nbsp;'VAR__FILTERTYPE__INTERNAL'&nbsp;filter&nbsp;'Memory'&nbsp;(correlation&nbsp;id:&nbsp;null)<br >WARN&nbsp;&nbsp;[org.ovirt.engine.core.bll.MigrateVmCommand]&nbsp;(default&nbsp;task-23)&nbsp;[5916aa3b]&nbsp;CanDoAction&nbsp;of&nbsp;action&nbsp;'MigrateVm'&nbsp;failed&nbsp;for&nbsp;user&nbsp;admin@internal.&nbsp;Reasons:&nbsp;VAR__ACTION__MIGRATE,VAR__TYPE__VM,SCHEDULING_ALL_HOSTS_FILTERED_OUT,VAR__FILTERTYPE__INTERNAL,$hostName&nbsp;n33,$filterName&nbsp;Memory,$availableMem&nbsp;1863,VAR__DETAIL__NOT_ENOUGH_MEMORY,SCHEDULING_HOST_FILTERED_REASON_WITH_DETAIL,VAR__FILTERTYPE__INTERNAL,$hostName&nbsp;n34,$filterName&nbsp;Memory,VAR__DETAIL__SWAP_VALUE_ILLEGAL,SCHEDULING_HOST_FILTERED_REASON_WITH_DETAIL<br >INFO&nbsp;&nbsp;[org.ovirt.engine.core.bll.MigrateVmCommand]&nbsp;(default&nbsp;task-23)&nbsp;[5916aa3b]&nbsp;Lock&nbsp;freed&nbsp;to&nbsp;object&nbsp;'EngineLock:{exclusiveLocks='[73351885-9a92-4317-baaf-e4f2bed1171a=&lt;VM,&nbsp;ACTION_TYPE_FAILED_VM_IS_BEING_MIGRATED$VmName&nbsp;test11&gt;]',&nbsp;sharedLocks='null'}'<br ><br ><br >3.&nbsp;DC<br >Compatibility&nbsp;Version:&nbsp;3.5<br ><br >4.&nbsp;Cluster<br >Memory&nbsp;Optimization:&nbsp;For&nbsp;Server&nbsp;Load&nbsp;-&nbsp;Allow&nbsp;scheduling&nbsp;of&nbsp;150%&nbsp;of&nbsp;physical&nbsp;memory<br >Memory&nbsp;Balloon:&nbsp;Enable&nbsp;Memory&nbsp;Balloon&nbsp;Optimization<br >Enable&nbsp;KSM:&nbsp;Share&nbsp;memory&nbsp;pages&nbsp;across&nbsp;all&nbsp;available&nbsp;memory&nbsp;(best&nbsp;KSM&nbsp;effectivness)<br ><br >5.&nbsp;HOST<br >name:&nbsp;n33,&nbsp;n34<br >mem:&nbsp;32G<br ><br >6.&nbsp;VM<br >[n33]&nbsp;11&nbsp;vms<br >(min,&nbsp;max)&nbsp;=&nbsp;(2G,4G)&nbsp;=&nbsp;8<br >(min,&nbsp;max)&nbsp;=&nbsp;(2G,8G)&nbsp;=&nbsp;1<br >(min,&nbsp;max)&nbsp;=&nbsp;(2G,2G)&nbsp;=&nbsp;2<br >total:&nbsp;22G/44G<br ><br >[n34]&nbsp;7&nbsp;vms<br >(min,&nbsp;max)&nbsp;=&nbsp;(0.5G,1G)&nbsp;=&nbsp;1<br >(min,&nbsp;max)&nbsp;=&nbsp;(1G,2G)&nbsp;=&nbsp;1<br >(min,&nbsp;max)&nbsp;=&nbsp;(2G,2G)&nbsp;=&nbsp;1<br >(min,&nbsp;max)&nbsp;=&nbsp;(2G,4G)&nbsp;=&nbsp;3<br >(min,&nbsp;max)&nbsp;=&nbsp;(8G,8G)&nbsp;=&nbsp;1<br >total:&nbsp;17.5G/25G<br >--------------------------------------------<br >(min,&nbsp;max)&nbsp;=&nbsp;(2G,4G)&nbsp;stands&nbsp;for:&nbsp;<br >Memory&nbsp;Size:&nbsp;4G<br >Physical&nbsp;Memory&nbsp;Guaranteed:&nbsp;2G<br >Memory&nbsp;Balloon&nbsp;Device&nbsp;Enabled:&nbsp;checked<br >--------------------------------------------<br ><br >7.&nbsp;rpm&nbsp;version<br >[root@n33&nbsp;~]#&nbsp;rpm&nbsp;-qa&nbsp;|grep&nbsp;vdsm<br >vdsm-yajsonrpc-4.16.27-0.el6.noarch<br >vdsm-jsonrpc-4.16.27-0.el6.noarch<br >vdsm-cli-4.16.27-0.el6.noarch<br >vdsm-python-zombiereaper-4.16.27-0.el6.noarch<br >vdsm-xmlrpc-4.16.27-0.el6.noarch<br >vdsm-python-4.16.27-0.el6.noarch<br >vdsm-4.16.27-0.el6.x86_64<br ><br >[root@engine&nbsp;~]#&nbsp;rpm&nbsp;-qa&nbsp;|grep&nbsp;ovirt<br >ovirt-release36-001-2.noarch<br >ovirt-engine-setup-base-3.6.0.3-1.el6.noarch<br >ovirt-engine-setup-3.6.0.3-1.el6.noarch<br >ovirt-image-uploader-3.6.0-1.el6.noarch<br >ovirt-engine-wildfly-8.2.0-1.el6.x86_64<br >ovirt-engine-setup-plugin-vmconsole-proxy-helper-3.6.0.3-1.el6.noarch<br >ovirt-host-deploy-1.4.0-1.el6.noarch<br >ovirt-engine-backend-3.6.0.3-1.el6.noarch<br >ovirt-engine-webadmin-portal-3.6.0.3-1.el6.noarch<br >ovirt-engine-jboss-as-7.1.1-1.el6.x86_64<br >ovirt-engine-lib-3.6.0.3-1.el6.noarch<br >ovirt-engine-setup-plugin-ovirt-engine-common-3.6.0.3-1.el6.noarch<br >ovirt-engine-setup-plugin-ovirt-engine-3.6.0.3-1.el6.noarch<br >ovirt-engine-setup-plugin-websocket-proxy-3.6.0.3-1.el6.noarch<br >ovirt-engine-sdk-python-3.6.0.3-1.el6.noarch<br >ovirt-iso-uploader-3.6.0-1.el6.noarch<br >ovirt-vmconsole-proxy-1.0.0-1.el6.noarch<br >ovirt-engine-extensions-api-impl-3.6.0.3-1.el6.noarch<br >ovirt-engine-websocket-proxy-3.6.0.3-1.el6.noarch<br >ovirt-engine-vmconsole-proxy-helper-3.6.0.3-1.el6.noarch<br >ebay-cors-filter-1.0.1-0.1.ovirt.el6.noarch<br >ovirt-host-deploy-java-1.4.0-1.el6.noarch<br >ovirt-engine-tools-3.6.0.3-1.el6.noarch<br >ovirt-engine-restapi-3.6.0.3-1.el6.noarch<br >ovirt-engine-3.6.0.3-1.el6.noarch<br >ovirt-engine-extension-aaa-jdbc-1.0.1-1.el6.noarch<br >ovirt-engine-cli-3.6.0.1-1.el6.noarch<br >ovirt-vmconsole-1.0.0-1.el6.noarch<br >ovirt-engine-wildfly-overlay-001-2.el6.noarch<br >ovirt-engine-dbscripts-3.6.0.3-1.el6.noarch<br >ovirt-engine-userportal-3.6.0.3-1.el6.noarch<br >ovirt-guest-tools-iso-3.6.0-0.2_master.fc22.noarch<br ><br ><br >###&nbsp;DB&nbsp;###<br >[root@engine&nbsp;~]#&nbsp;su&nbsp;postgres<br >bash-4.1$&nbsp;cd&nbsp;~<br >bash-4.1$&nbsp;psql&nbsp;engine<br >engine=#&nbsp;select&nbsp;vds_id,&nbsp;physical_mem_mb,&nbsp;mem_commited,&nbsp;vm_active,&nbsp;vm_count,&nbsp;reserved_mem,&nbsp;guest_overhead,&nbsp;transparent_hugepages_state,&nbsp;pending_vmem_size&nbsp;from&nbsp;vds_dynamic;<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vds_id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;physical_mem_mb&nbsp;|&nbsp;mem_commited&nbsp;|&nbsp;vm_active&nbsp;|&nbsp;vm_count&nbsp;|&nbsp;reserved_mem&nbsp;|&nbsp;guest_overhead&nbsp;|&nbsp;transparent_hugepages_state&nbsp;|&nbsp;pending_vmem_size&nbsp;<br >--------------------------------------+-----------------+--------------+-----------+----------+--------------+----------------+-----------------------------+-------------------<br >&nbsp;688aec34-5630-478e-ae5e-9d57990804e5&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;32057&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;45836&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;11&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;11&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;321&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;65&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br >&nbsp;2ae3a219-ae9a-4347-b1e2-0e100360231e&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;32057&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;26120&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;321&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;65&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br >(2&nbsp;rows)<br ><br ><br ><br >###&nbsp;memory&nbsp;###<br >[n33]<br >#&nbsp;free&nbsp;-m<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;total&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shared&nbsp;&nbsp;&nbsp;&nbsp;buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cached<br >Mem:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;32057&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;31770&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;287&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;41&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6347<br >-/+&nbsp;buffers/cache:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;25381&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6676<br >Swap:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;29999&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10025&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;19974<br ><br >Physical&nbsp;Memory:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;32057&nbsp;MB&nbsp;total,&nbsp;25646&nbsp;MB&nbsp;used,&nbsp;6411&nbsp;MB&nbsp;free<br >Swap&nbsp;Size:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;29999&nbsp;MB&nbsp;total,&nbsp;10025&nbsp;MB&nbsp;used,&nbsp;19974&nbsp;MB&nbsp;free<br >Max&nbsp;free&nbsp;Memory&nbsp;for&nbsp;scheduling&nbsp;new&nbsp;VMs:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1928.5&nbsp;MB<br ><br ><br >[n34]<br >#&nbsp;free&nbsp;-m<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;total&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shared&nbsp;&nbsp;&nbsp;&nbsp;buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cached<br >Mem:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;32057&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;31713&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;344&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;78&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13074<br >-/+&nbsp;buffers/cache:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;18560&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13497<br >Swap:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;29999&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5098&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;24901<br ><br >Physical&nbsp;Memory:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;32057&nbsp;MB&nbsp;total,&nbsp;18593&nbsp;MB&nbsp;used,&nbsp;13464&nbsp;MB&nbsp;free<br >Swap&nbsp;Size:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;29999&nbsp;MB&nbsp;total,&nbsp;5098&nbsp;MB&nbsp;used,&nbsp;24901&nbsp;MB&nbsp;free<br >Max&nbsp;free&nbsp;Memory&nbsp;for&nbsp;scheduling&nbsp;new&nbsp;VMs:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;21644.5&nbsp;MB<br ><br ><br ><br >###&nbsp;code&nbsp;###<br >##from:&nbsp;https://github.com/oVirt/ovirt-engine<br >v3.6.0<br ><br >##from:&nbsp;D:\code\java\ovirt-engine\backend\manager\modules\dal\src\main\resources\bundles\AppErrors.properties<br >VAR__DETAIL__SWAP_VALUE_ILLEGAL=$detailMessage&nbsp;its&nbsp;swap&nbsp;value&nbsp;was&nbsp;illegal<br ><br >##from:&nbsp;D:\code\java\ovirt-engine\backend\manager\modules\bll\src\main\java\org\ovirt\engine\core\bll\scheduling\policyunits\MemoryPolicyUnit.java<br >#-----------code--------------1#<br >&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;boolean&nbsp;isVMSwapValueLegal(VDS&nbsp;host)&nbsp;{<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!Config.&lt;Boolean&gt;&nbsp;getValue(ConfigValues.EnableSwapCheck))&nbsp;{<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;true;<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br >&nbsp;&nbsp;&nbsp;&nbsp;(omitted..)<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;((swap_total&nbsp;-&nbsp;swap_free&nbsp;-&nbsp;mem_available)&nbsp;*&nbsp;100&nbsp;/&nbsp;physical_mem_mb)&nbsp;&lt;=&nbsp;Config.&lt;Integer&gt;&nbsp;getValue(ConfigValues.BlockMigrationOnSwapUsagePercentage)<br >&nbsp;&nbsp;&nbsp;&nbsp;(omitted..)<br >&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br >#-----------code--------------1#<br >if&nbsp;EnableSwapCheck&nbsp;=&nbsp;False&nbsp;then&nbsp;return&nbsp;True,&nbsp;so&nbsp;we&nbsp;can&nbsp;simply&nbsp;disable&nbsp;this&nbsp;option?&nbsp;Any&nbsp;Suggestion?<br ><br >[root@engine&nbsp;~]#&nbsp;engine-config&nbsp;--get&nbsp;BlockMigrationOnSwapUsagePercentage<br >BlockMigrationOnSwapUsagePercentage:&nbsp;0&nbsp;version:&nbsp;general<br ><br >so,,<br >Config.&lt;Integer&gt;&nbsp;getValue(ConfigValues.BlockMigrationOnSwapUsagePercentage)&nbsp;=&nbsp;0<br >so,,<br >(swap_total&nbsp;-&nbsp;swap_free&nbsp;-&nbsp;mem_available)&nbsp;*&nbsp;100&nbsp;/&nbsp;physical_mem_mb&nbsp;&lt;=&nbsp;0<br >so,,<br >swap_total&nbsp;-&nbsp;swap_free&nbsp;-&nbsp;mem_available&nbsp;&lt;=&nbsp;0<br >right?<br >so,,&nbsp;if&nbsp;(swap_total&nbsp;-&nbsp;swap_free)&nbsp;&lt;=&nbsp;mem_available&nbsp;then&nbsp;return&nbsp;True&nbsp;else&nbsp;return&nbsp;False<br ><br ><br >#-----------code--------------2#<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(VDS&nbsp;vds&nbsp;:&nbsp;hosts)&nbsp;{<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!isVMSwapValueLegal(vds))&nbsp;{<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log.debug("Host&nbsp;'{}'&nbsp;swap&nbsp;value&nbsp;is&nbsp;illegal",&nbsp;vds.getName());<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages.addMessage(vds.getId(),&nbsp;EngineMessage.VAR__DETAIL__SWAP_VALUE_ILLEGAL.toString());<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!memoryChecker.evaluate(vds,&nbsp;vm))&nbsp;{<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;hostAavailableMem&nbsp;=&nbsp;SlaValidator.getInstance().getHostAvailableMemoryLimit(vds);<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log.debug("Host&nbsp;'{}'&nbsp;has&nbsp;{}&nbsp;MB&nbsp;available.&nbsp;Insufficient&nbsp;memory&nbsp;to&nbsp;run&nbsp;the&nbsp;VM",<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vds.getName(),<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hostAavailableMem);<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages.addMessage(vds.getId(),&nbsp;String.format("$availableMem&nbsp;%1$d",&nbsp;hostAavailableMem));<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages.addMessage(vds.getId(),&nbsp;EngineMessage.VAR__DETAIL__NOT_ENOUGH_MEMORY.toString());<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(omitted..)<br >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br ><br >#-----------code--------------2#<br >!isVMSwapValueLegal&nbsp;then&nbsp;throw&nbsp;exception,&nbsp;right?<br >so,,&nbsp;when&nbsp;we&nbsp;migrate&nbsp;vm&nbsp;from&nbsp;n33&nbsp;to&nbsp;n34,&nbsp;the&nbsp;swap&nbsp;status&nbsp;on&nbsp;n34&nbsp;actually&nbsp;is:<br >(swap_total&nbsp;-&nbsp;swap_free)&nbsp;&gt;&nbsp;mem_available<br ><br >swap_used&nbsp;&gt;&nbsp;mem_available?&nbsp;confused...<br ><br >so,,&nbsp;the&nbsp;logic&nbsp;is:<br >1)&nbsp;check&nbsp;n33:&nbsp;swap[passed],&nbsp;then&nbsp;memory[failed],&nbsp;then&nbsp;goto&nbsp;(for..continue..loop)<br >2)&nbsp;check&nbsp;n34:&nbsp;swap[failed],&nbsp;then&nbsp;goto&nbsp;(for..continue..loop)<br ><br >If&nbsp;I&nbsp;have&nbsp;misunderstood&nbsp;anything,&nbsp;please&nbsp;let&nbsp;me&nbsp;know.<br ><br ><br ><br >###&nbsp;conclusion&nbsp;###<br >1)&nbsp;n33&nbsp;do&nbsp;not&nbsp;have&nbsp;enough&nbsp;memory.&nbsp;[yes,&nbsp;I&nbsp;know&nbsp;that.]<br >2)&nbsp;n34&nbsp;memory&nbsp;is&nbsp;illegal&nbsp;[why&nbsp;and&nbsp;how&nbsp;to&nbsp;solve&nbsp;it?]<br >3)&nbsp;what&nbsp;I&nbsp;tried:<br >--change&nbsp;config:&nbsp;BlockMigrationOnSwapUsagePercentage<br >[root@engine&nbsp;~]#&nbsp;engine-config&nbsp;--set&nbsp;BlockMigrationOnSwapUsagePercentage=75&nbsp;-cver&nbsp;general<br >[root@engine&nbsp;~]#&nbsp;engine-config&nbsp;--get&nbsp;BlockMigrationOnSwapUsagePercentage<br >BlockMigrationOnSwapUsagePercentage:&nbsp;75&nbsp;version:&nbsp;general<br ><br >Result:&nbsp;failed.<br ><br >--disable&nbsp;EnableSwapCheck<br >How?&nbsp;Option&nbsp;not&nbsp;found&nbsp;from&nbsp;'engine-config&nbsp;--list',&nbsp;should&nbsp;I&nbsp;update&nbsp;table&nbsp;field&nbsp;direct&nbsp;from&nbsp;db?<br ><br ><br >--disk&nbsp;swap&nbsp;partition&nbsp;on&nbsp;host<br >Should&nbsp;I&nbsp;do&nbsp;this&nbsp;operation?<br ><br >--update&nbsp;ovirt-engine?<br >No&nbsp;useful&nbsp;infomation&nbsp;found&nbsp;in&nbsp;latest&nbsp;release&nbsp;note,&nbsp;should&nbsp;I&nbsp;do&nbsp;this&nbsp;operation?<br ><br ><br >### help ###<br >any&nbsp;help&nbsp;would&nbsp;be&nbsp;appreciated.<br ><br >ZYXW.&nbsp;Reference<br >http://www.ovirt.org/Sla/FreeMemoryCalculation<br >http://lists.ovirt.org/pipermail/users/2012-November/010858.html<br >http://lists.ovirt.org/pipermail/users/2013-March/013201.html<br >http://comments.gmane.org/gmane.comp.emulators.ovirt.user/19288<br >http://jim.rippon.me.uk/2013/07/ovirt-testing-english-instructions-for.html</span></div></div>