---
description: Redis
---

# Redis nice

#### **1. 查看 Redis 进程的 `nice` 值**

**方法 1：使用 `top` 或 `htop`**

* 运行 `top` 或 `htop`，找到 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` 设置实时调度策略（需谨慎使用）。

\
