Linux共享内存和cache

来源:互联网 发布:macbook办公软件下载 编辑:程序博客网 时间:2024/04/30 03:07

申请以下共享内存,不对其进行初始化,共享内存大小为56600032bytes:

  

此时free:

             total       used       free     shared    buffers     cached
Mem:       3932356     132588    3799768          0       1148      26152
-/+ buffers/cache:     105288    3827068
Swap:      2008116        336    2007780

 运行程序,往共享内存中写数据,free查看,cache一直在增长:

             total       used       free     shared    buffers     cached
Mem:       3932356     193984    3738372          0       1656      48264
-/+ buffers/cache:     144064    3788292
Swap:      2008116        336    2007780


             total       used       free     shared    buffers     cached
Mem:       3932356     199348    3733008          0       1660      53460
-/+ buffers/cache:     144228    3788128
Swap:      2008116        336    2007780

             total       used       free     shared    buffers     cached

Mem:       3932356     274448    3657908          0       1864     143216
-/+ buffers/cache:     129368    3802988
Swap:      2008116        336    2007780

增长到143216后cache不再增长。

用ipcrm删除该共享内存,free结果:

             total       used       free     shared    buffers     cached
Mem:       3932356     201528    3730828          0       1928      88032
-/+ buffers/cache:     111568    3820788
Swap:      2008116        336    2007780

释放的cache为55184K,和申请的共享内存大小差不多。如此是否共享内存在最初申请的时候并没有实际为其分配cache,只有在对共享内存进行写操作的时候才实际分配cache内存。



原创粉丝点击