补充关于内存申请的OverCommit:
Linux下的OverCommit机制,主要是为了应对可能的异常的大量内存申请对OS本身造成冲击。
[root@mydb vm]# cd /proc/sys/vm [root@mydb vm]# ls block_dump flush_mmap_pages min_free_kbytes overcommit_memory swappiness dirty_background_ratio hugetlb_shm_group min_slab_ratio overcommit_ratio swap_token_timeout dirty_expire_centisecs laptop_mode min_unmapped_ratio pagecache vfs_cache_pressure dirty_ratio legacy_va_layout mmap_min_addr page-cluster zone_reclaim_mode dirty_writeback_centisecs lowmem_reserve_ratio nr_hugepages panic_on_oom drop_caches max_map_count nr_pdflush_threads percpu_pagelist_fraction假设操作系统只有1000M内存,有个应用请求操作系统需要1200M内存,操作系统会承诺给1200M,即由OverCommit承诺,这时还没有真正分配空间。