-/+ 缓冲区/缓存和交换

-/+ 缓冲区/缓存和交换

什么时候应该开始使用交换空间?或者

我如何知道我的交换已被使用?至少在某些时候(如果不是总是),考虑到默认的交换性60

还,为什么确实free提出省略缓冲区/缓存行,难道不应该考虑吗?我总是提到 justfree -got的输出。

我的内存统计数据如下,根本没有看到交换被使用。缓冲区/缓存有什么关系吗?

-bash-3.2$ free -mt
             total       used       free     shared    buffers     cached
Mem:         64458      24419      40039          0         38        212
-/+ buffers/cache:      24167      40290
Swap:        16386          0      16386
Total:       80845      24419      56425

swappiness 值是默认值。

cat /proc/sys/vm/swappiness
60

需要知道这些,因为我遇到过以下情况全部我的 62Gigs RAM 已被使用。

请赐教。

答案1

我怎么知道我的交换已被使用?

根本没有见过交换被使用。

尝试创建内存压力以使 Linux 调出页面。在我的系统上交换也是 0。然后我运行stress --vm 30.这是关于 stres 的帮助:

$ stress --help
`stress' imposes certain types of compute stress on your system

Usage: stress [OPTION [ARG]] ...
 ....
 -m, --vm N         spawn N workers spinning on malloc()/free()
     --vm-bytes B   malloc B bytes per vm worker (default is 256MB)
     --vm-stride B  touch a byte every B bytes (default is 4096)
     --vm-hang N    sleep N secs before free (default none, 0 is inf)
     --vm-keep      redirty memory instead of freeing and reallocating

30 个实例strees导致内存压力,Linux 开始换出页面,这一点从vmstat 1.请参阅so专栏:

man vmstat:
   Swap
       si: Amount of memory swapped in from disk (/s).
       so: Amount of memory swapped to disk (/s).

vmstat 报告:

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
98  0  0    
 0  0      0 3355728 112016 2052000    0    0     0     0  287  335  3  1 96  0  0  
30  0      0 358472 112016 2052000    0    0     0     0 1575 1012  7 74 19  0  0   
14 33 141588  99032  60252 1578948  268 141764   404 142080 6896 3249  3 93  0  4  0    
31 24 302632  98664  17208 1020240 8280 165008  8308 165236 5686 4114  5 76  0 20  0    
11 22 494516  98732   4208 615496 3112 191952 11552 192060 5494 5199  2 64  1 33  0 

并且使用的交换空间变得足够大:

             total   used       free     shared    buffers     cached
Mem:          7228   1411       5816          0         23        171
-/+ buffers/cache:   1217       6011
Swap:         4647        824       3823
Total:       11876   2236       9640

相关内容