# tikv-server 的 CPU 占用升高

> - **Verified Status:**  Verified 
> - **Versions affected:**  v3.0.3

## Issue description

应用响应延时较高，部分 tikv-server 所在机器的 CPU system 指标与其他机器相比相差较多，CPU user 指标正常，SSH 登录、TOP 等操作缓慢。
分析主机的监控指发现部分机器的 node_exporter CPU 占用比较高，重启占用 CPU 较高的机器后应用恢复正常。

## Solution

1. 关闭 tikv-server 所在节点操作系统的 THP(Transparent Huge Pages)。

    ``` command
    # grubby --default-kernel
    /boot/vmlinuz-3.10.0-514.el7.x86_64
    # grubby --args="transparent_hugepage=never" --update-kernel /boot/vmlinuz-3.10.0-514.el7.x86_64
    # grubby --info /boot/vmlinuz-3.10.0-514.el7.x86_64
    index=0
    kernel=/boot/vmlinuz-3.10.0-514.el7.x86_64
    args="ro crashkernel=auto rd.lvm.lv=rootvg/root rd.lvm.lv=rootvg/swap rhgb quiet LANG=en_US.UTF-8 transparent_hugepage=never"
    root=/dev/mapper/rootvg-root
    initrd=/boot/initramfs-3.10.0-514.el7.x86_64.img
    title=Red Hat Enterprise Linux Server (3.10.0-514.el7.x86_64) 7.3 (Maipo)
    # reboot
    # cat /sys/kernel/mm/transparent_hugepage/enabled
    always madvise [never]
    ```

2. 重启 tikv-server。

## Root cause 

由于 THP 的原因导致有大量的 block 只有一个 page，try_to_compact_ranges 占比较高，物理内存碎片化程度很高。

## Tags

TiKV，performance，THP

## Backtrack link

ONCALL-971
