我有一个基于 Geode 的嵌入式应用程序服务器,具有 512MB RAM,我即将尝试在应用程序工作负载期间最大化可用内存,它非常积极地使用带有 InnoDB 的 MySQL 数据库 5.5。
作为整个优化的一部分,我想介绍
echo 1 > /proc/sys/vm/drop_caches
sleep 5
echo 0 > /proc/sys/vm/drop_caches
在 crontab 中。
执行这样的操作多久一次才安全?
欢迎提出任何其他意见或建议。
答案1
这里有一篇关于 Linux 缓存的非常好的文章;
http://www.linuxatemyram.com/play.html
简而言之,如果您不断清除缓存,磁盘读取将需要更长的时间才能完成,如果您读到文章的底部;
Linux 上 RAM 存储的充分利用表明硬件使用效率高,而不是警告信号。
您可能会发现,对 MySQL 配置进行更好的优化将比不断删除 RAM 中的缓存更有助于提高性能。
我使用 MySQLTuner.pl 取得了一些成功 ->https://github.com/major/MySQLTuner-perl