ubuntu

Ubuntu Mariadb内存使用优化

小樊
55
2025-09-02 21:49:14
栏目: 云计算

Ubuntu Mariadb内存使用优化策略

  1. 调整关键配置参数

    • innodb_buffer_pool_size:设置为服务器总内存的50%-80%,用于缓存InnoDB表数据和索引,减少磁盘I/O。
    • innodb_log_file_size:适当增大(如256M),减少日志切换频率,提升写入性能。
    • max_connections:根据业务需求合理设置,避免过多连接占用内存,可配合thread_cache_size缓存线程。
    • 查询缓存:若应用以读为主且数据变化少,可启用query_cache_size(如64M),否则建议关闭。
  2. 优化内存分配器

    • 使用jemalloc替代默认的ptmalloc,降低内存碎片,提升多线程场景下的内存利用率。
      • 安装:sudo apt-get install libjemalloc-dev
      • 配置:在/etc/systemd/system/mariadb.service.d/libs.conf中添加Environment="LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so",重启服务生效。
  3. 硬件与系统优化

    • 使用SSD:提升磁盘读写速度,降低I/O等待时间。
    • 调整内核参数:修改/etc/sysctl.conf,如降低vm.swappiness(如设为10),减少内存交换。
  4. 定期维护与监控

    • 清理碎片:定期执行OPTIMIZE TABLE整理表空间,减少内存占用。
    • 监控工具:使用Prometheus+Grafanatop/htop监控内存使用,及时发现异常。

注意:修改配置前需备份数据,部分参数(如innodb_buffer_pool_size)修改后需重启服务生效。具体优化需结合业务负载和硬件资源调整。

0
看了该问题的人还看了