作者
digoal
日期
2021-11-03
标签
PostgreSQL , MacOS , swap
内存够大时建议关闭虚拟内存, 因为使用虚拟内存的性能差, 而且影响SSD寿命.
为什么在配置有很大内存(例如16GB以上)的情况下MacOS还会疯狂的使用swap, 可能和numa有关? 参考知识点:
《大内存, 大并发应用的NUMA内存管理配置策略 - PostgreSQL numa配置》
《DB吐槽大会,第81期 - PG 未针对 NUMA 优化》
1、重启并进入恢复模式, 不同版本的MAC进入恢复模式的方法可能不一样.
- macbook pro 2018版的进入恢复模式方式, 正常启动的情况下, 选择重启电脑, 然后立即按下 Command+R
不要放手, 直到进入恢复模式再放手.
- Mac M1进入恢复模式方式。就在电脑完全关机的情况下,一直按着电源键不放,提示你继续按着电源键就可以进入,然后直到提示你正在进入恢复模式就可以放手了。
2、关闭安全性保护
在菜单栏工具中打开终端执行
csrutil disable
复制
3、重启电脑进入普通模式
4、关闭虚拟内存
打开终端执行
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
复制
5、再次重启并恢复模式
6、开启安全性保护
csrutil enable
复制
7、重启电脑进入普通模式, 查询虚拟内存
sysctl vm.swapusage vm.swapusage: total = 0.00M used = 0.00M free = 0.00M (encrypted)
复制
1、重启并进入恢复模式, 不同版本的MAC进入恢复模式的方法可能不一样.
- macbook pro 2018版的进入恢复模式方式, 正常启动的情况下, 选择重启电脑, 然后立即按下 Command+R
不要放手, 直到进入恢复模式再放手.
- Mac M1进入恢复模式方式。就在电脑完全关机的情况下,一直按着电源键不放,提示你继续按着电源键就可以进入,然后直到提示你正在进入恢复模式就可以放手了。
2、关闭安全性保护
在菜单栏工具中打开终端执行
csrutil disable
复制
3、重启电脑进入普通模式
4、启用虚拟内存
打开终端执行
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
复制
5、再次重启并恢复模式
6、开启安全性保护
csrutil enable
复制
7、重启电脑进入普通模式, 查询虚拟内存
在刚开机时,swap用量为0。于是我打开很多应用,发现物理内存用量大约10g时发现swap开始使用。然后随着我不断关闭应用,出现了如下的结果。因此大致可以得出一个结论,swap的用量是系统动态调整的,内存用量越大,swap用量越大。
% sysctl vm.swapusage vm.swapusage: total = 2048.00M used = 1235.75M free = 812.25M (encrypted) % sysctl vm.swapusage vm.swapusage: total = 2048.00M used = 1075.75M free = 972.25M (encrypted) % sysctl vm.swapusage vm.swapusage: total = 1024.00M used = 264.00M free = 760.00M (encrypted)
复制
https://blog.csdn.net/qq_29911647/article/details/114952758
https://blog.csdn.net/qq_29496469/article/details/114222398