使用 ionice 命令,我可以调整磁盘访问的优先级,类似于 nice 和 renice 设置 CPU 访问优先级的方式。他们说磁盘访问,但我不确定这意味着什么。这是否意味着程序从磁盘中获取文件,如 sda1、sda2 等?我有几个磁盘,那么Ubuntu知道我想要什么具体的磁盘?最后为什么将磁盘访问优先级设置为Real Time(1)被认为容易丢失数据?
使用 ionice 命令,我可以调整磁盘访问的优先级,类似于 nice 和 renice 设置 CPU 访问优先级的方式。他们说磁盘访问,但我不确定这意味着什么。这是否意味着程序从磁盘中获取文件,如 sda1、sda2 等?我有几个磁盘,那么Ubuntu知道我想要什么具体的磁盘?最后为什么将磁盘访问优先级设置为Real Time(1)被认为容易丢失数据?
ionice 设置所有 I/O 操作的优先级。您不能为特定磁盘设置它。这有点类似于
nice
在具有多个处理器的系统上使用。只有在一段时间内没有其他程序请求 I/O 时,具有类 3(空闲)的进程才会获得磁盘时间。在一个繁忙的系统上,这可能意味着他们永远不会获得 I/O 时间。这个类通常用于在后台做家务的程序。
在 2 类(尽力而为)程序中,I/O 时间根据优先级(
-n
参数)分配。这是默认设置。1 类(实时)具有绝对优先级,并且总是在需要时获取磁盘时间。此类中执行大量 I/O 的程序可能会阻止其他程序获得足够的磁盘时间来保存其数据,从而导致数据丢失。
0级与2级基本相同。