“调优内存参数”涉及的范围很广,具体做法取决于你使用的系统/平台和应用场景。下面我按常见场景给你一个系统性的调优思路和实用参数示例。
free -h
top
htop
vmstat 1
cat /proc/meminfo
常用调优项:
# 虚拟内存参数
vm.swappiness = 10 # 默认60,降低可减少swap使用(数据库建议10)
vm.dirty_ratio = 10 # 脏页占内存比例上限
vm.dirty_background_ratio = 5
vm.overcommit_memory = 0/1/2
vm.min_free_kbytes = 65536
修改方式:
sysctl -w vm.swappiness=10
# 永久生效
echo "vm.swappiness=10" >> /etc/sysctl.conf
sysctl -p
-Xms2g -Xmx2g # 堆初始和最大
-XX:MetaspaceSize=256m
-XX:MaxMetaspaceSize=512m
-Xss256k # 线程栈
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+PrintGCDetails -Xloggc:gc.log
innodb_buffer_pool_size = 4G # 通常设为物理内存的60-70%
key_buffer_size = 256M
query_cache_size = 0 # MySQL 8已移除
tmp_table_size = 64M
max_connections = 500
SHOW STATUS LIKE 'Innodb_buffer_pool%';
docker run -m 2g --memory-swap=2g app
resources:
requests:
memory: "1Gi"
limits:
memory: "2Gi"
⚠️ JVM 需配合:
-XX:+UseContainerSupport
-Xmx=your_limit*0.75
如果你能告诉我:
我可以直接给你针对性的参数配置方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。