免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 34783 | 回复: 1

pg插入大量数据,内存怎么不释放 [复制链接]

论坛徽章:
0
发表于 2019-01-21 16:43 |显示全部楼层
1.表接口如下

                   Table "public.tmp_wal_compress"
   Column    |         Type          | Collation | Nullable | Default
-------------+-----------------------+-----------+----------+---------
id          | bigint                |           |          |
random_char | character varying(50) |           |          |
random_int  | bigint                |           |          |


2.使用下来语句插入200W数据

insert into tmp_wal_compress select generate_series(1, 2000000) as id, md5(random()::text) as info ,trunc(random()*2000000);

3.插入前系统内存
~ # free -m
             total         used         free       shared      buffers
Mem:         15971        14134         1836           37            0
-/+ buffers:              14133         1837

4.插入后系统内存
~ # free -m
             total         used         free       shared      buffers
Mem:         15971        14530         1441           37            2
-/+ buffers:              14528         1443
Swap:            0            0            0
~ #


插入空闲内存一直1.4G,不能回到原来的1.8G,不管多长时间都不释放。这些数据内存一直缓存在缓冲区,除非使用echo 3 >/proc/sys/vm/drop_caches释放。
侠来帮下忙,实在困惑


论坛徽章:
7
数据库技术版块每日发帖之星
日期:2015-08-09 06:20:00数据库技术版块每日发帖之星
日期:2015-11-03 06:20:00数据库技术版块每日发帖之星
日期:2016-02-20 06:20:00数据库技术版块每日发帖之星
日期:2016-07-13 06:20:00数据库技术版块每日发帖之星
日期:2016-07-31 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
发表于 2019-09-10 16:29 |显示全部楼层
db的data cache是不会随时间释放的--否则会影响下次data access的读写效率,所以db的data cache都是在100% full之后采用要么MRU要么LRU的策略来执行swap的。
像你这样强行drop cache了-- 对DB性能是不好的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP