【问题标题】:Does MySQL processes run in user or kernel modes?MySQL 进程是在用户模式还是内核模式下运行?
【发布时间】:2015-08-21 10:40:34
【问题描述】:

我尝试使用 SystemTap 脚本计算 IOPS 和 I/O 大小,并使用 MySQL 作为工作负载。

我发现mysqld 不调用系统调用,但mysqld 在 VFS 上具有读/写功能。

那么,MySQL 进程是在用户模式还是内核模式下运行?

【问题讨论】:

    标签: mysql kernel system-calls vfs


    【解决方案1】:

    显然,它们在用户空间中运行,就像您系统上的大多数其他进程一样。

    您只需使用 ps -eaf 即可轻松检查这一点。

    内核进程是括号[]中的进程。其他任何东西都是用户进程。

    请注意,对于 MySQL,如果您使用原始设备,有一种方法可以绕过 VFS。在 Linux 上,这或多或少已被弃用。人们更喜欢在 O_DIRECT 模式下使用文件。

    【讨论】:

      【解决方案2】:

      MySQL 可能正在使用内存映射文件 I/O 进行读取和写入,除了初始 mmap() 调用之外不需要任何系统调用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-23
        • 2023-04-08
        • 2012-07-10
        • 2012-08-26
        • 2020-10-15
        • 1970-01-01
        • 2011-06-08
        • 2013-07-05
        相关资源
        最近更新 更多