[Go] freecache 设置 SetGCPercent 的作用

 

你需要对 freecache 有一个大致了解,freecache 的内存空间是预分配的。

 

假设你的程序占用了 50M 内存,那么开启 freecache 预分配 200M 空间,总共下来就是 250M 空间被占用。

 

SetGCPercent 的作用是设置垃圾回收比例,简单来说,新插入数据比例占旧数据比例达到设置值时,启动 GC。

负百分比将禁止 GC。

 

举个例子:

假设 SetGCPercent 设置了 20,那么当缓存量达到 20% * 200M = 40M 时会启动 GC。

 

结论:设置的缓存容量越高,SetGCPercent 设置的也要越高,以便于及时 GC。

 

Ref:https://github.com/gopher-lego/skeleton

Link:https://www.cnblogs.com/farwish/p/13039953.html

你可能感兴趣的:([Go] freecache 设置 SetGCPercent 的作用)