1. 查看资源占用情况
使用 top 命令查看当前系统中各个进程的资源占用情况,特别是CPU和内存的使用情况。
使用 free 命令查看内存使用情况,包括总内存、已用内存、可用内存以及缓存和缓冲区的使用情况。
使用 vmstat 命令查看虚拟内存、进程、I/O和CPU活动的统计信息。
使用 ps 命令列出系统中所有进程的详细信息,并结合排序功能快速找到内存占用最高的进程。
2. 优化MariaDB配置
调整缓冲区大小:根据服务器的内存大小调整 innodb_buffer_pool_size,这是InnoDB存储引擎的缓冲池,用于缓存数据和索引,减少磁盘I/O。通常建议设置为服务器总内存的50%-80%。
关闭不必要的缓存:如果不需要查询缓存,可以关闭 query_cache_size 和 query_cache_type 参数。
调整连接数:根据服务器的硬件资源和业务需求,合理设置 max_connections 参数,避免过多的并发连接导致内存占用过高。
3. 清理和维护
清理缓存:定期清理MariaDB的缓存,如 innodb_buffer_pool 和查询缓存。
优化表:使用 OPTIMIZE TABLE 命令整理表空间,减少碎片。
删除孤立包:使用 package-cleanup 工具查找并删除系统中的孤立包。
4. 监控和报警
设置监控工具(如Prometheus + Grafana)来监控MariaDB的资源使用情况,并在达到阈值时发送警报,以便及时采取措施。
5. 硬件升级
如果上述方法都无法有效降低资源占用,且业务确实需要更多资源,可以考虑升级服务器的硬件配置,如增加内存。
通过上述步骤,可以有效地降低MariaDB在CentOS系统中的资源占用,提高系统的性能和稳定性。
有效的几个命令查询跟踪:
top -Hp 27404 //查看该进程下所有线程,按大写P按cpu排序。
pstack 27404 //具体到某个线/进程的stack信息。
strace -o output.txt -T -tt -e trace=all -p 27404 //跟踪某个pid的starce信息
转载请以链接形式注明出处:
本篇文章来源于 "中栖梧桐云" :https://www.womtech.cn
中栖梧桐云 版权与免责声明:
① 凡本网注明“来源:中栖梧桐云”的所有作品,版权均属于中栖梧桐云,版权归中栖梧桐云所有,未经本网授权不得转载、摘编或利用其它方式使用上述作品。已经本网授权使用作品的,应在授权范围内使用,并注明“来源:中栖梧桐云”。违反上述声明者,本网将追究其相关法律责任。
② 凡本网注明“来源:XXX(非中栖梧桐云)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
③ 本网部分内容来自互联网,如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行。
※ 联系方式:中栖梧桐云 Email:jinostart@126.com


©2021-2025 中栖梧桐
京ICP备15002495号-2
京公网安备11011402013126