CAPTCHA
Image CAPTCHA
Enter the characters shown in the image.
This question is for testing whether or not you are human.
  • Create new account
  • Reset your password

User account menu

Home
The Hyperlogos
Read Everything

Main navigation

  • Home
  • My Resumé
  • blog
  • Howtos
  • Pages
  • Contact
  • Search

How to be nice... to I/O on Linux

Breadcrumb

  • Home
  • User Blogs
  • User Blog
  • How to be nice... to I/O on Linux
By drink | Sun September 13, 2026

One place Linux could still use some work is I/O scheduling. By default it's quite possible for one task to crater your system because it's churning through a lot of data. You can fix this both ahead of time and while a task is running with ionice.

ionice is part of the util-linux package and it allows you to set the I/O priority of a task. It's the obvious companion to the nice command that sets task processing priority. While there's a number of things you could do with it, the most common thing is to set a task to idle priority with ionice -c idle. Specifying -c 3 will do the same thing. And you can also do this to a running process using the -p flag, as in ionice -c 3 -p $PID.

I use a one-liner script/alias for running possibly objectionable processes called nicer which reads:

nice ionice -c idle $*

This runs the process with reduced task and I/O priority. It shouldn't matter whether you use nice or ionice first, as both task and I/O priority should be inherited by child processes.

If you want to change the task priority of a running process, look at renice.

  • Log in or register to post comments
Powered by Drupal

Copyright © 2026 Martin Espinoza - All rights reserved