\section{ionice **}
\begin{frame}
   {ionice}

   \begin{itemize}

      \item
      \textbf{ionice} sets I/O \textbf{scheduling class} and
      \textbf{priority}

      \begin{cmd}
$ ionice [-c class] [-n priority] [-p pid ] [COMMAND [ARGS] ]
      \end{cmd}

   \end{itemize}

   \begin{table}[H]
      \caption{I/O Scheduling Classes}
      \vspace{-15pt}
   \end{table}

   \small{\begin{tcolorbox}[tabularx={p{0.20\textwidth}|p{0.1\textwidth}|X}]
         \textbf{Scheduling Class} & \textbf{-c value} & \textbf{Meaning}
         \\ \hline \hline
         \textbf{None or Unknown}  & 0                 &
         Default Value
         \\ \hline
         \textbf{Real Time}        & 1                 &

         Get first access to the disk, can starve other
         processes. The priority defines how big a time slice
         each process gets.
         \\ \hline
         \textbf{Best Effort}      & 2                 &
         All programs serviced in round-robin fashion,
         according to priority settings. The Default.
         \\ \hline
         \textbf{Idle}             & 3                 &
         No access to disk I/O unless no other program has
         asked for it for a defined period.
         \\ \hline
      \end{tcolorbox}}


   \begin{important}[ionice and CFQ are no longer used]
      \item
      \textbf{ionice} works only when using the \textbf{CFQ}
      I/O Scheduler, which was removed in the 5.0 kernel version.
   \end{important}

\end{frame}

\cprotect\note{

   The \textbf{ionice} utility lets you set both the I/O scheduling
   class and priority for a given process.

   The \verb?-c? parameter specifies the I/O scheduling class as shown
   in the above table.

   If a \textbf{pid} is given with the \verb?-p? argument results apply to the
   requested process, otherwise it is the process that will be
   started by \verb?COMMAND? with possible arguments. If no arguments
   are given, \textbf{ionice} returns the scheduling class and priority
   of the current shell process:

   \begin{cmd}
$ ionice
   \end{cmd}
   \begin{response}
idle: prio 7
   \end{response}

   The \textbf{Best Effort} and \textbf{Real Time} classes take
   the \verb?-n? argument which gives the priority, which can range
   from 0 to 7, with 0 being the highest priority. An example:
   \begin{cmd}
$ ionice -c 2 -n 3 -p 30078
   \end{cmd}

   Note: \textbf{ionice} works only when using the \textbf{CFQ}
   I/O Scheduler, which was removed in the 5.0 kernel version.
   We will talk about I/O schedulers in the next section.

}
