Redis nice

Redis

1. 查看 Redis 进程的 nice

方法 1:使用 tophtop

  • 运行 tophtop,找到 Redis 进程(通常名为 redis-server)。

  • top 中,按 r 键,然后输入进程 PID 并设置新的 nice 值(临时修改)。

  • htop 中,直接选中进程,按 F7(降低优先级)或 F8(提高优先级)。

方法 2:使用 ps 命令

ps -eo pid,comm,nice | grep redis-server

输出示例:

1234 redis-server  0
  • 1234 是进程 PID,0 是当前的 nice 值(默认值)。

方法 3:通过 /proc 文件系统

cat /proc/<redis_pid>/stat | awk '{print "Nice value: " $19}'

<redis_pid> 替换为 Redis 的实际 PID。


2. 修改 Redis 进程的 nice

临时修改(进程运行时)

使用 renice 命令:

sudo renice -n <new_nice_value> -p <redis_pid>
  • <new_nice_value>:范围通常为 -20(最高优先级)到 19(最低优先级)。

  • <redis_pid>:Redis 进程的实际 PID。

示例(将 Redis 设置为低优先级):

sudo renice -n 10 -p 1234

永久修改(重启后生效)

  1. 通过启动脚本: 在 Redis 的启动命令前添加 nice

    nice -n <value> /usr/bin/redis-server /etc/redis/redis.conf
  2. 通过 systemd 服务(如果使用 systemd): 编辑 Redis 的 systemd 单元文件(如 /etc/systemd/system/redis.service),在 [Service] 部分添加:

    Nice=<value>

    然后重新加载并重启:

    sudo systemctl daemon-reload
    sudo systemctl restart redis

注意事项

  1. 权限要求

    • 降低 nice 值(提高优先级)需要 root 权限(sudo)。

    • 普通用户只能提高 nice 值(降低优先级)。

  2. Redis 性能影响

    • 降低优先级(提高 nice 值)可能导致 Redis 在高负载时响应变慢。

    • 谨慎提高优先级(降低 nice 值),避免影响系统关键进程。

  3. 实时优先级(rtprio: 如需更严格的优先级控制,可结合 chrt 设置实时调度策略(需谨慎使用)。

Last updated