繁体   English   中英

在 Centos 7.8 上将 innodb_flush_method 设置为 O_DIRECT

[英]Setting innodb_flush_method to O_DIRECT on Centos 7.8

我读过你应该在 MySQL 中将 innodb_flush_method 设置为 O_DIRECT 以避免双缓冲。 我还读到你不应该对 tmpdir 使用 tmpfs,因为这会禁用 AIO。

在研究这些声明时,我发现 Centos 自动在 tmpdir 上带有 tmpfs。 我读过这会与 O_DIRECT 产生冲突。

一种建议的解决方案是更改 MySQL 的临时文件夹,以便您可以使用本机 AIO 并避免双缓冲。

关于双缓冲的说法是否正确?

或者你不应该设置 innodb_flush_method 并让 tmpdir 成为 tmpfs 的默认值?

将 innodb_flush_method 设置为 O_DIRECT(否则您将通过双重缓存搅动页面缓存)。 我不认为在 tmpfs 上设置 tmpdir=/tmp 会完全禁用 MySQL 的 aio,但如果确实如此,您最好在常规文件系统上设置 /tmp。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM