{"id":35292,"date":"2019-10-31T22:03:28","date_gmt":"2019-10-31T19:03:28","guid":{"rendered":"https:\/\/prohoster.info\/blog\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory\/"},"modified":"2019-10-31T22:03:28","modified_gmt":"2019-10-31T19:03:28","slug":"analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory","title":{"rendered":"Performance analysis of VMs in VMware vSphere. Part 2: Memory","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Performance analysis of VMs in VMware vSphere. Part 2: Memory\" src=\"\/wp-content\/uploads\/be3cfe4d8ff6491b5e32a247b996ded3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/dataline\/blog\/452884\/\">Part 1. About CPU<\/a><\/noindex><\/p>\n<p>This article discusses performance counters for RAM in vSphere.<br \/>\nMemory issues seem to be more straightforward than CPU ones: if a VM encounters performance problems, they are hard to miss. However, once they appear, it's much more challenging to address them. But let's take it step by step. <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>A Bit of Theory<\/h3>\n<p>\nThe RAM for virtual machines is drawn from the memory of the servers on which the VMs operate. This is quite obvious :) If the server's RAM is insufficient for all requests, ESXi begins to apply memory reclamation techniques. Otherwise, the operating systems of the VMs would crash with access errors to RAM. <\/p>\n<p>The techniques ESXi applies depend on the memory load:<\/p>\n<p><b>Memory State<\/b><\/p>\n<p><b>Threshold<\/b><\/p>\n<p><b>Actions<\/b><\/p>\n<p>High<\/p>\n<p>400% of minFree<\/p>\n<p>Once the upper threshold is reached, large memory pages are broken down into smaller ones (TPS operates in standard mode).<\/p>\n<p>Clear<\/p>\n<p>100% of minFree<\/p>\n<p>Large memory pages are broken down into smaller ones, TPS operates forcefully.<\/p>\n<p>, which is located within the driver\u2019s codebase itself. It uses its own<\/p>\n<p>64% of minFree<\/p>\n<p>TPS + Balloon<\/p>\n<p>Hard<\/p>\n<p>32% of minFree<\/p>\n<p>TPS + Compress + Swap<\/p>\n<p>Low<\/p>\n<p>16% of minFree<\/p>\n<p>Compress + Swap + Block<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/www.yellow-bricks.com\/2015\/03\/02\/what-happens-at-which-vsphere-memory-state\/\">Source<\/a><\/noindex> <\/p>\n<p>minFree is the amount of RAM necessary for the hypervisor to operate. <\/p>\n<p>Until ESXi 4.1, minFree was by default fixed at 6% of the server's RAM (the percentage could be changed using the Mem.MinFreePct option in ESXi). In later versions, due to the increasing amounts of memory on servers, minFree began to be calculated based on the host's memory size rather than as a fixed percentage. <\/p>\n<p>The default minFree value is calculated as follows:<\/p>\n<p><b>Percentage of memory reserved for minFree<\/b><\/p>\n<p><b>Memory range<\/b><\/p>\n<p>6%<\/p>\n<p>0-4 GB<\/p>\n<p>4%<\/p>\n<p>4-12 GB<\/p>\n<p>2%<\/p>\n<p>12-28 GB<\/p>\n<p>1%<\/p>\n<p>Remaining memory<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/www.yellow-bricks.com\/2013\/06\/14\/how-does-mem-minfreepct-work-with-vsphere-5-0-and-up\/\">Source<\/a><\/noindex><\/p>\n<p>For example, for a server with 128 GB of RAM, the MinFree value would be as follows:<br \/>\nMinFree = 245.76 + 327.68 + 327.68 + 1024 = 1925.12 MB = 1.88 GB <br \/>\nThe actual value may differ by a few hundred MB, depending on the server and memory.<\/p>\n<p><b>Percentage of memory reserved for minFree<\/b><\/p>\n<p><b>Memory range<\/b><\/p>\n<p><b>Value for 128 GB<\/b><\/p>\n<p>6%<\/p>\n<p>0-4 GB<\/p>\n<p>245.76 MB<\/p>\n<p>4%<\/p>\n<p>4-12 GB<\/p>\n<p>327.68 MB<\/p>\n<p>2%<\/p>\n<p>12-28 GB<\/p>\n<p>327.68 MB<\/p>\n<p>1%<\/p>\n<p>Remaining memory (100 GB)<\/p>\n<p>1024 MB<\/p>\n<p>\nTypically, the High state is considered normal for production environments. For testing and development environments, Clear\/Soft states may be acceptable. If less than 64% of MinFree memory remains on the host, VMs running on it will undoubtedly experience performance issues.<\/p>\n<p>Specific memory reclamation techniques are applied in each state, starting with TPS, which has a minimal impact on VM performance, up to swapping. I'll explain them in more detail. <\/p>\n<p><b>Transparent Page Sharing (TPS).<\/b> TPS is, roughly speaking, the deduplication of virtual machine memory pages on the server.<\/p>\n<p>ESXi looks for identical virtual machine memory pages by calculating and comparing the hash values of the pages and removes duplicates, replacing them with references to the same page in the server's physical memory. As a result, physical memory consumption decreases, allowing for some memory oversubscription without significantly impacting performance.<\/p>\n<p><img decoding=\"async\" alt=\"Performance analysis of VMs in VMware vSphere. Part 2: Memory\" src=\"\/wp-content\/uploads\/c36972169fea245fd1298b03ebf471d2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.vladan.fr\/vmware-transparent-page-sharing-tps-explained\/\">Source<\/a><\/noindex><\/p>\n<p>This mechanism only works for memory pages sized at 4 KB (small pages). The hypervisor doesn't even attempt to deduplicate 2 MB (large pages) as the chances of finding identical pages of that size are low.<\/p>\n<p>By default, ESXi allocates memory for large pages. Fragmentation of large pages into small ones begins when the high state threshold is reached and occurs forcefully when the clear state is achieved (see the hypervisor state table).<\/p>\n<p>If you want TPS to start working without waiting for the host's memory to fill up, you need to set the value in the Advanced Options of ESXi to <i>\u201cMem.AllocGuestLargePage\u201d<\/i> to 0 (default is 1). Then, the allocation of large memory pages for virtual machines will be disabled.<\/p>\n<p>Since December 2014, TPS between VMs has been disabled by default in all ESXi releases due to the discovery of a vulnerability that theoretically allows one VM to access the memory of another VM. Details can be found here. I have not encountered practical implementation information about exploiting the TPS vulnerability.<\/p>\n<p>The TPS policy is controlled through the advanced option <i>\u201cMem.ShareForceSalting\u201d<\/i> on ESXi:<br \/>\n0 \u2014 Inter-VM TPS. TPS works for pages of different VMs;<br \/>\n1 \u2013 TPS for VMs with the same value of \u201csched.mem.pshare.salt\u201d in VMX;<br \/>\n2 (default) \u2013 Intra-VM TPS. TPS works for pages within the VM.<\/p>\n<p>It definitely makes sense to disable large pages and enable Inter-VM TPS on test environments. This can also be useful for environments with a large number of similar VMs. For example, in VDI environments, the savings in physical memory can reach tens of percent. <\/p>\n<p><b>Memory Ballooning.<\/b> Ballooning is no longer as harmless and transparent for the VM operating system as TPS. However, with proper application, one can live and even work with Ballooning.<\/p>\n<p>Along with VMware Tools, a special driver called the Balloon Driver (also known as vmmemctl) is installed on the VM. When the hypervisor runs low on physical memory and transitions to a Soft state, ESXi asks the VM to return unused RAM through this Balloon Driver. The driver, in turn, operates at the level of the operating system and requests free memory from it. The hypervisor sees which pages of physical memory the Balloon Driver occupies, takes memory from the virtual machine, and returns it to the host. There are no issues with the OS's operation since the memory is occupied by the Balloon Driver at the OS level. By default, the Balloon Driver can reclaim up to 65% of the VM's memory.<\/p>\n<p>If VMware Tools are not installed on the VM or Ballooning is disabled (not recommended, but there are situations), the hypervisor immediately resorts to more severe memory reclamation techniques. <noindex><a rel=\"nofollow\" href=\"https:\/\/kb.vmware.com\/s\/article\/1002586\">KB<\/a><\/noindex>:), the hypervisor immediately moves to stricter memory reclamation techniques. Conclusion: ensure VMware Tools are installed on the VM.<\/p>\n<p><img decoding=\"async\" alt=\"Performance analysis of VMs in VMware vSphere. Part 2: Memory\" src=\"\/wp-content\/uploads\/884df6a7f5610d9bb372a7c34558f280.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>The operation of the Balloon Driver can be checked from the OS through VMware Tools.<\/i>.<\/p>\n<p><b>Memory Compression.<\/b> This technique is applied when ESXi reaches a Hard state. As the name suggests, ESXi attempts to compress 4 KB memory pages to 2 KB in order to free up a bit of space in the server's physical memory. This technique significantly increases the access time to the contents of the VM's memory pages, as the page needs to be decompressed first. Sometimes not all pages can be compressed, and the process itself takes some time. Therefore, this technique is not very effective in practice.<\/p>\n<p><b>Memory Swapping.<\/b> After a brief phase of Memory Compression, ESXi almost inevitably (unless VMs have migrated to other hosts or powered off) transitions to Swapping. If there is very little memory left (Low state), the hypervisor also stops allocating memory pages to the VMs, which may cause problems in the guest operating systems of the VMs.<\/p>\n<p>This is how Swapping works. When a virtual machine is powered on, a file with the .vswp extension is created for it. Its size equals the unreserved RAM of the VM: the difference between the configured and reserved memory. During Swapping, ESXi unloads the memory pages of the virtual machine into this file and begins to use it instead of the physical memory of the server. Naturally, this type of \"operational\" memory is several orders of magnitude slower than actual memory, even if the .vswp file is on fast storage.<\/p>\n<p>Unlike Ballooning, where unused pages are reclaimed from the VM, during Swapping, pages that are actively used by the OS or applications within the VM may be written to disk. As a result, the VM's performance may drop to the point of stalling. The VM technically continues to operate, and it can at least be properly shut down from the OS. If you are patient \ud83d\ude09<\/p>\n<p>If the VMs have gone into Swap, this is an abnormal situation that should be avoided whenever possible.<\/p>\n<h3>Key memory performance counters of the virtual machine<\/h3>\n<p>\nNow we have reached the main point. The following counters are available for monitoring memory states in VMs:<\/p>\n<p><b>Active<\/b> \u2014 shows the amount of memory (KB) that the VM had access to in the previous measurement period.<\/p>\n<p><b>Usage<\/b> \u2014 the same as Active, but expressed as a percentage of the VM's configured RAM. Calculated using the following formula: active \u00f7 virtual machine configured memory size.<br \/>\nHigh Usage and Active, respectively, are not always indicators of VM performance issues. If the VM is aggressively using memory (at least accessing it), it does not mean that there is not enough memory. Rather, this is a reason to check what is happening in the OS.<br \/>\nThere is a standard Alarm for Memory Usage for VMs:<\/p>\n<p><img decoding=\"async\" alt=\"Performance analysis of VMs in VMware vSphere. Part 2: Memory\" src=\"\/wp-content\/uploads\/073132b332da79be15e3bedf2c66cf94.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Shared<\/b> \u2014 the amount of memory used by the VM that has been deduplicated using TPS (within the VM or between VMs).<\/p>\n<p><b>Granted<\/b> \u2014 the amount of physical memory of the host (KB) that has been allocated to the VM. Includes Shared.<\/p>\n<p><b>Consumed<\/b> (Granted \u2014 Shared) \u2014 the amount of physical memory (KB) that the VM consumes from the host. Does not include Shared.<\/p>\n<p>If some memory of the VM is not drawn from the host's physical memory but from the swap file or is reclaimed from the VM via Balloon Driver, this amount is not included in Granted and Consumed.<br \/>\nHigh values for Granted and Consumed are completely normal. The operating system gradually takes memory from the hypervisor and does not give it back. Over time, for an actively running VM, the values of these counters approach the size of the configured memory and stay there.<\/p>\n<p><b>Zero<\/b> \u2014 the amount of memory for the VM (KB) that contains zeros. This memory is considered free by the hypervisor and can be given to other virtual machines. Once the guest OS writes anything to the zeroed memory, it transitions to Consumed and does not return.<\/p>\n<p><b>Reserved Overhead<\/b> \u2014 the amount of memory for the VM (KB) reserved by the hypervisor for the VM's operation. This is a small amount, but it must be available on the host; otherwise, the VM will not start.<\/p>\n<p><b>Balloon<\/b> \u2014 the amount of memory (KB) taken from the VM using the Balloon Driver.<\/p>\n<p><b>Compressed<\/b> \u2014 the amount of memory (KB) that was successfully compressed.<\/p>\n<p><b>Swapped<\/b> \u2014 the amount of memory (KB) that, due to the lack of physical memory on the server, has moved to disk.<br \/>\nBalloon and other memory reclamation technique counters are zero.<\/p>\n<p>This is what the graph with the counters for a normally functioning VM with 150 GB of RAM looks like.<\/p>\n<p><img decoding=\"async\" alt=\"Performance analysis of VMs in VMware vSphere. Part 2: Memory\" src=\"\/wp-content\/uploads\/4c361a407581b24fc042c91a6d76aa68.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn the graph below, the VM has clear problems. Below the graph, it can be seen that all the described techniques for managing memory have been used for this VM. The Balloon for this VM is significantly larger than Consumed. In fact, the VM is more likely dead than alive. <\/p>\n<p><img decoding=\"async\" alt=\"Performance analysis of VMs in VMware vSphere. Part 2: Memory\" src=\"\/wp-content\/uploads\/fcc8f196fc7d158e82de4737c5ebe776.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>ESXTOP<\/h3>\n<p>\nAs with the CPU, if we want to quickly assess the situation on the host and its dynamics with intervals up to 2 seconds, we should use ESXTOP.<\/p>\n<p>The ESXTOP screen for Memory is invoked by pressing the key 'm' and looks as follows (the fields B,D,H,J,K,L,O are selected):<\/p>\n<p><img decoding=\"async\" alt=\"Performance analysis of VMs in VMware vSphere. Part 2: Memory\" src=\"\/wp-content\/uploads\/27383c357fb351bbe8353abf3b08171e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nThe following parameters will be interesting for us: <\/p>\n<p><b>Mem overcommit avg<\/b> \u2014 the average memory overcommitment on the host over 1, 5, and 15 minutes. If above zero, it is a reason to check what is happening, but it does not always indicate problems.<\/p>\n<p>In the lines <b>PMEM\/MB<\/b> and <b>VMKMEM\/MB<\/b> \u2014 information about the physical memory of the server and the memory available to the VMkernel. Of interest here is the minfree value (in MB), the memory state of the host (in our case, high).<\/p>\n<p>In the line <b>NUMA\/MB<\/b> you can see the distribution of memory across NUMA nodes (sockets). In this example, the distribution is uneven, which is generally not very good.<\/p>\n<p>Next is the general server statistics on memory reclamation techniques:<\/p>\n<p><b>PSHARE\/MB<\/b> \u2014 this is the TPS statistics;<\/p>\n<p><b>SWAP\/MB<\/b> \u2014 statistics on Swap usage;<\/p>\n<p><b>ZIP\/MB<\/b> \u2014 statistics on memory page compression;<\/p>\n<p><b>MEMCTL\/MB<\/b> \u2014 statistics on Balloon Driver usage.<\/p>\n<p>For individual VMs, we may be interested in the following information. I have hidden the VM names to avoid confusing the audience :). If the ESXTOP metric is similar to the counter in vSphere, I provide the corresponding counter. <\/p>\n<p><b>MEMSZ<\/b> \u2014 amount of memory configured on the VM (MB).<br \/>\nMEMSZ = GRANT + MCTLSZ + SWCUR + untouched.<\/p>\n<p><b>GRANT<\/b> \u2014 Granted in MB.<\/p>\n<p><b>TCHD<\/b> \u2014 Active in MB.<\/p>\n<p><b>MCTL?<\/b> \u2014 whether the Balloon Driver is set on the VM.<\/p>\n<p><b>MCTLSZ<\/b> \u2014 Balloon in MB.<\/p>\n<p><b>MCTLGT<\/b> \u2014 amount of RAM (MB) that ESXi wants to reclaim from the VM through the Balloon Driver (Memctl Target).<\/p>\n<p><b>MCTLMAX<\/b> \u2014 maximum amount of RAM (MB) that ESXi can reclaim from the VM through the Balloon Driver.<\/p>\n<p><b>SWCUR<\/b> \u2014 current amount of RAM (MB) given to the VM from the Swap file. <\/p>\n<p><b>SWGT<\/b> \u2014 amount of RAM (MB) that ESXi wants to give to the VM from the Swap file (Swap Target).<\/p>\n<p>You can also view more detailed information about the NUMA topology of the VMs through ESXTOP. To do this, select the fields D,G:<\/p>\n<p><img decoding=\"async\" alt=\"Performance analysis of VMs in VMware vSphere. Part 2: Memory\" src=\"\/wp-content\/uploads\/3fde4ab9d54c709f66313020437255c2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>NHN<\/b> \u2013 NUMA nodes on which the VM is located. Here you can immediately notice wide VMs that do not fit on a single NUMA node.<\/p>\n<p><b>NRMEM<\/b> \u2013 how many megabytes of memory the VM is taking from a remote NUMA node.<\/p>\n<p><b>NLMEM<\/b> \u2013 how many megabytes of memory the VM is taking from the local NUMA node.<\/p>\n<p><b>N%L<\/b> \u2013 percentage of VM memory on the local NUMA node (if less than 80% \u2014 performance issues may arise).<\/p>\n<h3>Memory on the hypervisor<\/h3>\n<p>\nIf CPU counters on the hypervisor usually do not represent particular interest, the situation is opposite with memory. High Memory Usage on a VM does not always indicate a performance problem, but high Memory Usage on the hypervisor triggers memory management techniques and causes performance issues for the VM. It's important to monitor Host Memory Usage alarms and prevent VMs from going into Swap.<\/p>\n<p><img decoding=\"async\" alt=\"Performance analysis of VMs in VMware vSphere. Part 2: Memory\" src=\"\/wp-content\/uploads\/27931f9a8607000dc9a7ca483c03ad68.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Performance analysis of VMs in VMware vSphere. Part 2: Memory\" src=\"\/wp-content\/uploads\/4a1c0d6199a340dd62e5c923611ddd6e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Unswap<\/h3>\n<p>\nIf a VM has entered Swap, its performance drops significantly. The traces of Ballooning and compression quickly disappear after free RAM becomes available on the host, but the virtual machine is in no hurry to return from Swap to the host's RAM. <br \/>\nBefore ESXi 6.0, the only reliable and quick way to get VMs out of Swap was to reboot (more precisely, to turn off\/on the container). Starting with ESXi 6.0, there emerged an unofficial yet effective method to remove VMs from Swap. During one conference, I had the chance to talk to one of the VMware engineers responsible for the CPU Scheduler. He confirmed that this method is indeed effective and safe. In our experience, we have not encountered any issues with it.<\/p>\n<p>Commands for getting VMs out of Swap <noindex><a rel=\"nofollow\" href=\"http:\/\/www.yellow-bricks.com\/2016\/06\/02\/memory-pages-swapped-can-unswap\/\">described<\/a><\/noindex> Duncan Epping. I won't repeat the detailed description; I will just provide an example of its usage. As seen in the screenshot, after a while of executing the specified command, the Swap on the VM disappears.<\/p>\n<p><img decoding=\"async\" alt=\"Performance analysis of VMs in VMware vSphere. Part 2: Memory\" src=\"\/wp-content\/uploads\/c60d03c59e115d48b209dadc25081c1e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Tips for managing memory on ESXi<\/h3>\n<p>\nFinally, here are a few tips that can help you avoid VM performance issues due to memory:<\/p>\n<ul>\n<li>Avoid overcommitting memory in production clusters. It is advisable to always maintain about 20-30% free memory in the cluster so that DRS (and the administrator) has room to maneuver, and VMs do not go into Swap during migrations. Also, keep in mind the reserve for fault tolerance. It is unpleasant when a server fails and VMs are rebooted using HA, while some machines also go into Swap.<\/li>\n<li>In highly consolidated infrastructures, try NOT to create VMs with memory exceeding half of the host's memory. This will again help DRS to distribute virtual machines across cluster servers without issues. This rule, of course, is not universal : ).<\/li>\n<li>Monitor the Host Memory Usage Alarm.<\/li>\n<li>Don't forget to install VMware Tools on the VMs and keep Ballooning enabled.<\/li>\n<li>Consider enabling Inter-VM TPS and disabling Large Pages in VDI environments and test labs.<\/li>\n<li>If a VM is experiencing performance issues, check whether it is using memory from a remote NUMA node.<\/li>\n<li>Get VMs out of Swap as quickly as possible! Among other things, if a VM is in Swap, the storage system suffers for obvious reasons.<\/li>\n<\/ul>\n<p>\nThat's all I have on memory. Below are articles on the topic for those who want to delve deeper into the details. The next article will focus on storage.<\/p>\n<p><b class=\"spoiler_title\">Useful links<\/b><noindex><a rel=\"nofollow\" href=\"http:\/\/www.yellow-bricks.com\/2015\/03\/02\/what-happens-at-which-vsphere-memory-state\/\">http:\/\/www.yellow-bricks.com\/2015\/03\/02\/what-happens-at-which-vsphere-memory-state\/<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/www.yellow-bricks.com\/2013\/06\/14\/how-does-mem-minfreepct-work-with-vsphere-5-0-and-up\/\">http:\/\/www.yellow-bricks.com\/2013\/06\/14\/how-does-mem-minfreepct-work-with-vsphere-5-0-and-up\/<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.vladan.fr\/vmware-transparent-page-sharing-tps-explained\/\">https:\/\/www.vladan.fr\/vmware-transparent-page-sharing-tps-explained\/<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/www.yellow-bricks.com\/2016\/06\/02\/memory-pages-swapped-can-unswap\/\">http:\/\/www.yellow-bricks.com\/2016\/06\/02\/memory-pages-swapped-can-unswap\/<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/kb.vmware.com\/s\/article\/1002586\">https:\/\/kb.vmware.com\/s\/article\/1002586<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.vladan.fr\/what-is-vmware-memory-ballooning\/\">https:\/\/www.vladan.fr\/what-is-vmware-memory-ballooning\/<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/kb.vmware.com\/s\/article\/2080735\">https:\/\/kb.vmware.com\/s\/article\/2080735<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/kb.vmware.com\/s\/article\/2017642\">https:\/\/kb.vmware.com\/s\/article\/2017642<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/labs.vmware.com\/vmtj\/vmware-esx-memory-resource-management-swap\">https:\/\/labs.vmware.com\/vmtj\/vmware-esx-memory-resource-management-swap<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.vmware.com\/vsphere\/2013\/10\/understanding-vsphere-active-memory.html\">https:\/\/blogs.vmware.com\/vsphere\/2013\/10\/understanding-vsphere-active-memory.html<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.vmware.com\/support\/developer\/converter-sdk\/conv51_apireference\/memory_counters.html#overhead\">https:\/\/www.vmware.com\/support\/developer\/converter-sdk\/conv51_apireference\/memory_counters.html<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/docs.vmware.com\/en\/VMware-vSphere\/6.5\/vsphere-esxi-vcenter-server-65-monitoring-performance-guide.pdf\">https:\/\/docs.vmware.com\/en\/VMware-vSphere\/6.5\/vsphere-esxi-vcenter-server-65-monitoring-performance-guide.pdf<\/a><\/noindex><\/p>\n<p>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/dataline\/blog\/455820\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0427\u0430\u0441\u0442\u044c 1. \u041f\u0440\u043e CPU \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043f\u0440\u043e \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (RAM) \u0432 vSphere. \u0412\u0440\u043e\u0434\u0435 \u0431\u044b \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0432\u0441\u0435 \u0431\u043e\u043b\u0435\u0435 \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e, \u0447\u0435\u043c \u0441 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u043c: \u0435\u0441\u043b\u0438 \u043d\u0430 \u0412\u041c \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e, \u0438\u0445 \u0441\u043b\u043e\u0436\u043d\u043e \u043d\u0435 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c. \u0417\u0430\u0442\u043e \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f, \u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0441 \u043d\u0438\u043c\u0438 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u041d\u043e \u043e\u0431\u043e \u0432\u0441\u0435\u043c \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443. \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0442\u0435\u043e\u0440\u0438\u0438 \u041e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u044c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35292","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0410\u043d\u0430\u043b\u0438\u0437 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0412\u041c \u0432 VMware vSphere. \u0427\u0430\u0441\u0442\u044c 2: Memory | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:03:28+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:03:28+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47VM Performance Analysis in VMware vSphere. Part 2: Memory | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0410\u043d\u0430\u043b\u0438\u0437 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0412\u041c \u0432 VMware vSphere. \u0427\u0430\u0441\u0442\u044c 2: Memory | ProHoster","og:url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:03:28+00:00","article:modified_time":"2019-10-31T19:03:28+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35292","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 22:41:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:01:22","updated":"2026-01-21 22:41:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/35292","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=35292"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/35292\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=35292"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=35292"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=35292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}