diff --git a/misc/config_tools/schema/checks/vm_memory.xsd b/misc/config_tools/schema/checks/vm_memory.xsd
new file mode 100644
index 000000000..1e5827035
--- /dev/null
+++ b/misc/config_tools/schema/checks/vm_memory.xsd
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+ The total memory size applied by all VMs large then the host memory ({(sum(/acrn-config//vm[load_order != 'SERVICE_VM']//memory/size) + sum(/acrn-config//vm[load_order != 'SERVICE_VM']//size_hpa)) * 1024 * 1024} > {sum(//memory/range[not(@id)]/@size)}).
+
+
+
+
diff --git a/misc/config_tools/schema/datachecks.xsd b/misc/config_tools/schema/datachecks.xsd
index a38944a0a..fa1697203 100644
--- a/misc/config_tools/schema/datachecks.xsd
+++ b/misc/config_tools/schema/datachecks.xsd
@@ -19,6 +19,7 @@
+