ioprio_set

Autres langues

Langue: ja

Version: 2007-06-01 (openSuse - 09/10/07)

Section: 2 (Appels système)

̾Á°

ioprio_get, ioprio_set - I/O ¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¥¯¥é¥¹¤ÈÍ¥ÀèÅÙ¤ÎÀßÄê/¼èÆÀ

½ñ¼°


int ioprio_get(int which, int who);

int ioprio_set(int which, int who, int ioprio);

ÀâÌÀ

¥·¥¹¥Æ¥à¥³¡¼¥ë ioprio_get() / ioprio_set() ¤Ï¡¢(1¤Ä°Ê¾å¤Î) ¥×¥í¥»¥¹¤Î I/O ¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¥¯¥é¥¹¤È Í¥ÀèÅ٤μèÆÀ/ÀßÄê¤ò¹Ô¤¦¡£

which ¤È who °ú¤­¿ô¤Ç¥·¥¹¥Æ¥à¥³¡¼¥ë¤ÎÁàºîÂоݤȤʤë¥×¥í¥»¥¹¤ò»Ø¼¨¤¹¤ë¡£ which °ú¤­¿ô¤Ï¡¢ who ¤ò¤É¤Î¤è¤¦¤Ë²ò¼á¤¹¤ë¤«¤ò·è¤á¤ë¤â¤Î¤Ç¡¢°Ê²¼¤Î¤¤¤º¤ì¤«°ì¤Ä¤ò»ØÄꤹ¤ë¡£

IOPRIO_WHO_PROCESS
who ¤Ï¥×¥í¥»¥¹ID ¤Ç¤¢¤ê¡¢»ØÄꤵ¤ì¤¿ 1 ¥×¥í¥»¥¹¤¬ÂоݤȤʤ롣
IOPRIO_WHO_PGRP
who ¤Ï¥×¥í¥»¥¹¥°¥ë¡¼¥×ID ¤Ç¤¢¤ê¡¢¥×¥í¥»¥¹¥°¥ë¡¼¥×¤ÎÁ´¥á¥ó¥Ð¤¬ÂоݤȤʤ롣
IOPRIO_WHO_USER
who ¤Ï¥æ¡¼¥¶ID ¤Ç¤¢¤ê¡¢¼Â UID ¤Ë°ìÃפ¹¤ëÁ´¥×¥í¥»¥¹¤¬ÂоݤȤʤ롣

ioprio_get() ¤Î¸Æ¤Ó½Ð¤·»þ¤Ë which ¤Ë IOPRIO_WHO_PGRP ¤« IOPRIO_WHO_USER ¤¬»ØÄꤵ¤ì¡¢ who ¤Ë°ìÃפ¹¤ë¥×¥í¥»¥¹¤¬Ê£¿ô¤¢¤Ã¤¿¾ì¹ç¡¢ °ìÃפ¹¤ë¥×¥í¥»¥¹Á´ÂΤÎÃæ¤ÇºÇ¤â¹â¤¤Í¥ÀèÅÙ¤¬ÊÖ¤µ¤ì¤ë¡£ Í¥ÀèÅÙ¤¬¹â¤¤¤È¤Ï¡¢¤è¤ê¹â¤¤Í¥ÀèÅÙ¥¯¥é¥¹¤Ë°¤·¤Æ¤¤¤ë (IOPRIO_CLASS_RT ¤¬ºÇ¤â¹â¤¤Í¥ÀèÅÙ¥¯¥é¥¹¤Ç¡¢ IOPRIO_CLASS_IDLE ¤¬ºÇ¤âÄ㤤)¡¢¤â¤·¤¯¤Ï Ʊ¤¸Í¥ÀèÅÙ¥¯¥é¥¹¤Ë°¤·¤Æ¤¤¤ë¤¬Í¥ÀèÅÙ¥ì¥Ù¥ë¤¬¹â¤¤ (Í¥ÀèÅÙÈֹ椬¾®¤µ¤¤Êý¤¬Í¥ÀèÅÙ¥ì¥Ù¥ë¤¬¹â¤¤¤³¤È¤ò°ÕÌ£¤¹¤ë)¡¢ ¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£

ioprio_set() ¤ËÅϤ¹ ioprio °ú¤­¿ô¤Ï¡¢ÂоݤȤʤë¥×¥í¥»¥¹¤Ë³ä¤êÅö¤Æ¤ë¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¥¯¥é¥¹¤È Í¥ÀèÅÙ¤ÎξÊý¤ò»ØÄꤹ¤ë¥Ó¥Ã¥È¥Þ¥¹¥¯¤Ç¤¢¤ë¡£ ioprio ¤ÎÃͤòÁȤßΩ¤Æ¤¿¤ê²ò¼á¤¹¤ë¤Î¤Ë¡¢°Ê²¼¤Î¥Þ¥¯¥í¤¬ÍøÍѤǤ­¤ë¡£

IOPRIO_PRIO_VALUE(class, data)
¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¥¯¥é¥¹ class ¤ÈÍ¥ÀèÅÙ (data) ¤òÍ¿¤¨¤ë¤È¡¢¤³¤Î¥Þ¥¯¥í¤Ï 2¤Ä¤ÎÃͤòÁȤ߹ç¤ï¤»¤Æ¡¢ ioprio ÃͤòÀ¸À®¤·¡¢¥Þ¥¯¥í¤Î·ë²Ì¤È¤·¤ÆÊÖ¤¹¡£
IOPRIO_PRIO_CLASS(mask)
mask (ioprio ÃÍ) ¤òÍ¿¤¨¤ë¤È¡¢¤³¤Î¥Þ¥¯¥í¤Ï I/O ¥¯¥é¥¹Í×ÁÇ¡¢¤Ä¤Þ¤ê IOPRIO_CLASS_RT, IOPRIO_CLASS_BE, IOPRIO_CLASS_IDLE ¤Î¤¤¤º¤ì¤«°ì¤Ä¤ÎÃͤòÊÖ¤¹¡£
IOPRIO_PRIO_DATA(mask)
mask (ioprio ÃÍ) ¤òÍ¿¤¨¤ë¤È¡¢¤³¤Î¥Þ¥¯¥í¤ÏÍ¥ÀèÅÙ (data) Í×ÁǤòÊÖ¤¹¡£

¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¥¯¥é¥¹¤ÈÍ¥ÀèÅ٤˴ؤ¹¤ë¾Ü¤·¤¤¾ðÊó¤Ï¡¢ ¡ÖÈ÷¹Í¡×¤ÎÀá¤ò»²¾È¤Î¤³¤È¡£

I/O Í¥ÀèÅÙ¤ÏÆɤ߽Ф·¤ÈƱ´ü½ñ¤­¹þ¤ß (O_DIRECT, O_SYNC) ¤ËÂбþ¤·¤Æ¤¤¤ë¡£ I/O Í¥ÀèÅÙ¤ÏÈóƱ´ü½ñ¤­¹þ¤ß¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Ê¤¤¡£¤Ê¤¼¤Ê¤é¡¢ ÈóƱ´ü½ñ¤­¹þ¤ß¤Ï¥á¥â¥ê½ñ¤­´¹¤¨¤ò¹Ô¤¦¥×¥í¥°¥é¥à¤ÎÆ°ºî (context) ¤È¤Ï ´Ø·¸¤Ê¤¯È¯¹Ô¤µ¤ì¡¢¤½¤Î¤¿¤á¥×¥í¥°¥é¥àñ°Ì¤ÎÍ¥ÀèÅÙ¤ÏŬÍѤµ¤ì¤Ê¤¤¤«¤é ¤Ç¤¢¤ë¡£

ÊÖ¤êÃÍ

À®¸ù¤¹¤ë¤È¡¢ ioprio_get() ¤Ï¡¢ which ¤È who ¤Ç»ØÄꤵ¤ì¤¿´ð½à¤Ë¹çÃפ·¤¿Á´¥×¥í¥»¥¹¤ÇºÇ¤â¹â¤¤ I/O Í¥ÀèÅÙ¤ò»ý¤Ä¥×¥í¥»¥¹¤Î ioprio ÃͤòÊÖ¤¹¡£ ¥¨¥é¡¼¤Î¾ì¹ç¡¢-1 ¤òÊÖ¤·¡¢ errno ¤Ë¥¨¥é¡¼¤ò¼¨¤¹ÃͤòÀßÄꤹ¤ë¡£

À®¸ù¤¹¤ë¤È¡¢ ioprio_set() ¤Ï 0 ¤òÊÖ¤¹¡£ ¥¨¥é¡¼¤Î¾ì¹ç¡¢-1 ¤òÊÖ¤·¡¢ errno ¤Ë¥¨¥é¡¼¤ò¼¨¤¹ÃͤòÀßÄꤹ¤ë¡£

¥¨¥é¡¼

EPERM
¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤¬¡¢»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤Ë ioprio ¤ò³ä¤êÅö¤Æ¤ë¤Î¤ËɬÍפʸ¢¸Â¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡£ ioprio_set() ¤ËɬÍפʸ¢¸Â¤Ë¤Ä¤¤¤Æ¤Î¾Ü¤·¤¤¾ðÊó¤Ï¡ÖÈ÷¹Í¡×¤ÎÀá¤ò»²¾È¤Î¤³¤È¡£
ESRCH
which ¤È who ¤Ç»ØÄꤵ¤ì¤¿´ð½à¤Ë¹çÃפ¹¤ë¥×¥í¥»¥¹¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¡£
EINVAL
which ¤« ioprio ¤ÎÃͤ¬ÉÔÀµ¤Ç¤¢¤ë¡£ ioprio ÍѤ˻ØÄê²Äǽ¤Ê¥¹¥±¥¸¥å¡¼¥é¥¯¥é¥¹¤ÈÍ¥ÀèÅÙ¥ì¥Ù¥ë¤Ë¤Ä¤¤¤Æ¤Ï ¡ÖÈ÷¹Í¡×¤ò»²¾È¤Î¤³¤È¡£

¥Ð¡¼¥¸¥ç¥ó

¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¥«¡¼¥Í¥ë 2.6.13 °Ê¹ß¤Î Linux ¤ÇÍøÍѲÄǽ¤Ç¤¢¤ë¡£

½àµò

¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï Linux Æȼ«¤Ç¤¢¤ë¡£

È÷¹Í

glibc ¤Ï¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤ËÂФ¹¤ë¥é¥Ã¥Ñ¡¼´Ø¿ô¤òÄ󶡤·¤Æ¤¤¤Ê¤¤¡£ syscall(2) ¤ò»È¤Ã¤Æ¸Æ¤Ó½Ð¤¹¤³¤È¡£

¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢I/O Í¥ÀèÅÙ¤ËÂбþ¤·¤¿ I/O ¥¹¥±¥¸¥å¡¼¥é¤È ÁȤ߹ç¤ï¤»¤Æ»ÈÍѤµ¤ì¤¿¾ì¹ç¤Ë¤Î¤ß¸ú²Ì¤ò»ý¤Ä¡£ ¥«¡¼¥Í¥ë 2.6.17 ¤Ç¤Ï¡¢¤³¤Î¾ò·ï¤òËþ¤¿¤¹¥¹¥±¥¸¥å¡¼¥é¤Ï Completely Fair Queuing (CFQ) I/O ¥¹¥±¥¸¥å¡¼¥é¤À¤±¤Ç¤¢¤ë¡£

I/O ¥¹¥±¥¸¥å¡¼¥é¤ÎÁªÂò

I/O ¥¹¥±¥¸¥å¡¼¥é¤ÎÁªÂò¤Ï¥Ç¥Ð¥¤¥¹Ã±°Ì¤Ë¹Ô¤ï¤ì¡¢¤½¤ÎÁªÂò¤Ï ¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë /sys/block/<device>/queue/scheduler ·Ðͳ¤Ç¹Ô¤ï¤ì¤ë¡£

¸½ºß¤Î I/O ¥¹¥±¥¸¥å¡¼¥é¤Ï /sys ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à·Ðͳ¤Ç»²¾È¤Ç¤­¤ë¡£Î㤨¤Ð¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢ ¸½ºß¥«¡¼¥Í¥ë¤Ç¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥¹¥±¥¸¥å¡¼¥é¤ÎÁ´¥ê¥¹¥È¤¬É½¼¨¤µ¤ì¤ë¡£


$ cat /sys/block/hda/queue/scheduler

noop anticipatory deadline [cfq]

³ç¸Ì¤Ç°Ï¤Þ¤ì¤¿¥¹¥±¥¸¥å¡¼¥é¤¬¤½¤Î¥Ç¥Ð¥¤¥¹ (¾å¤ÎÎã¤Ç¤Ï hda) ¤Ë¤Ä¤¤¤Æ¼ÂºÝ¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤ë¥¹¥±¥¸¥å¡¼¥é¤Ç¤¢¤ë¡£ Ê̤Υ¹¥±¥¸¥å¡¼¥é¤òÀßÄꤹ¤ë¤Ë¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¿·¤·¤¤¥¹¥±¥¸¥å¡¼¥é̾¤ò ½ñ¤­¹þ¤á¤Ð¤è¤¤¡£Î㤨¤Ð¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥Ç¥Ð¥¤¥¹ hda ¤Î¥¹¥±¥¸¥å¡¼¥é¤È¤·¤Æ cfq ¤¬ÀßÄꤵ¤ì¤ë¡£


$ su

Password:

# echo cfq > /sys/block/hda/queue/scheduler

Completely Fair Queuing (CFQ) I/O ¥¹¥±¥¸¥å¡¼¥é

¥Ð¡¼¥¸¥ç¥ó 3 (ÊÌ̾ CFQ Time Sliced) °Ê¹ß¡¢ CPU ¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤ÈƱÍͤΠI/O nice ¥ì¥Ù¥ë¤¬ CFQ ¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¡£ ¤³¤ì¤é¤Î nice ¥ì¥Ù¥ë¤Ï 3¤Ä¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¥¯¥é¥¹¤ËʬÎà¤Ç¤­¡¢ ³Æ¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¥¯¥é¥¹¤Ë¤Ä¤­ 1¤Ä°Ê¾å¤ÎÍ¥ÀèÅÙ¥ì¥Ù¥ë¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£
IOPRIO_CLASS_RT (1)
¤³¤ì¤Ï¥ê¥¢¥ë¥¿¥¤¥à I/O ¥¯¥é¥¹¤Ç¤¢¤ë¡£ ¤³¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¥¯¥é¥¹¤Ë¤Ï¾¤Î¥¯¥é¥¹¤è¤ê¤â¹â¤¤Í¥ÀèÅÙ¤¬Í¿¤¨¤é¤ì¤ë¡£ ¤³¤Î¥¯¥é¥¹¤Î¥×¥í¥»¥¹¤Ë¤Ï¡¢¾ï¤Ë¥Ç¥£¥¹¥¯¤Ø¤Î¥¢¥¯¥»¥¹¤¬Í¥À褷¤Æ ³ä¤êÅö¤Æ¤é¤ì¤ë¡£¤½¤Î¤¿¤á¡¢¤³¤Î I/O ¥¯¥é¥¹¤ò»È¤¦ºÝ¤Ë¤Ï¡¢ ¤¿¤Ã¤¿°ì¤Ä¤Î ¥ê¥¢¥ë¥¿¥¤¥à I/O ¥¯¥é¥¹¤Î¥×¥í¥»¥¹¤Ë¤è¤ê ¥·¥¹¥Æ¥àÁ´ÂΤΥǥ£¥¹¥¯¥¢¥¯¥»¥¹¤¬¤Ç¤­¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ë ¤È¤¤¤¦ÅÀ¤Ë¡¢Ãí°Õ¤òʧ¤¦É¬Íפ¬¤¢¤ë¡£ ¤³¤Î¥¯¥é¥¹¤Ë¤Ï¡¢8 Ãʳ¬¤Î class data (Í¥ÀèÅÙ¥ì¥Ù¥ë) ¤¬¤¢¤ë¡£ ¤³¤ÎÃͤϡ¢¤½¤Î¥×¥í¥»¥¹¤¬ 1²ó¤Î¥Ç¥£¥¹¥¯¥¢¥¯¥»¥¹¤Ë¤É¤ì¤À¤±¤Î »þ´Ö¤¬É¬Íפ«¤òÀµ³Î¤Ë·è¤á¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¡£ ºÇ¹â¤Î¥ê¥¢¥ë¥¿¥¤¥àÍ¥ÀèÅÙ¥ì¥Ù¥ë¤Ï 0 ¤Ç¡¢ºÇÄã¤Ï 7 ¤Ç¤¢¤ë¡£ ¾­ÍèŪ¤Ë¤Ï¡¢Í¥ÀèÅÙ¥ì¥Ù¥ë¤Ï¡¢´õ˾¤¹¤ë¥Ç¡¼¥¿¥ì¡¼¥È¤òÅϤ¹¤Ê¤É¡¢ ¤è¤êľÀÜŪ¤ËÀ­Ç½¾ò·ï¤òÈ¿±Ç¤Ç¤­¤ë¤è¤¦¤ËÊѹ¹¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
IOPRIO_CLASS_BE (2)
¤³¤ì¤Ï ¥Ù¥¹¥È¥¨¥Õ¥©¡¼¥È¡¦¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¥¯¥é¥¹¤Ç¤¢¤ë¡£ ¤³¤Î¥¯¥é¥¹¤Ï¡¢ÆÃÄê¤Î I/O Í¥ÀèÅÙ¤òÀßÄꤷ¤Æ¤¤¤Ê¤¤¥×¥í¥»¥¹¤Î ¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¢¤ë¡£ class data (Í¥ÀèÅÙ¥ì¥Ù¥ë) ¤Ë¤è¤ê¡¢¤½¤Î¥×¥í¥»¥¹¤¬¤É¤ÎÄøÅ٤ΠI/O ÂÓ°è¤òÆÀ¤é¤ì¤ë¤«¤¬·èÄꤵ¤ì¤ë¡£ ¥Ù¥¹¥È¥¨¥Õ¥©¡¼¥È¡¦Í¥ÀèÅÙ¥ì¥Ù¥ë¤Ï¡¢CPU ¤Î nice ÃÍ (getpriority(2) »²¾È) ¤ÈƱÍͤΤâ¤Î¤Ç¤¢¤ë¡£ Í¥ÀèÅÙ¥ì¥Ù¥ë¤Ï¡¢¥Ù¥¹¥È¥¨¥Õ¥©¡¼¥È¡¦¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¥¯¥é¥¹¤ÎÃæ¤Ç ¾¤Î¥×¥í¥»¥¹¤È¤ÎÁêÂÐŪ¤ÊÍ¥ÀèÅÙ¤ò·èÄꤹ¤ë¡£ Í¥ÀèÅÙ¥ì¥Ù¥ë¤ÎÃͤÎÈÏ°Ï¤Ï 0 (ºÇ¹â) ¤«¤é 7 (ºÇÄã) ¤Ç¤¢¤ë¡£
IOPRIO_CLASS_IDLE (3)
¤³¤ì¤Ï idle ¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¥¯¥é¥¹¤Ç¤¢¤ë¡£ ¤³¤Î¥ì¥Ù¥ë¤ÇÆ°ºî¤¹¤ë¥×¥í¥»¥¹¤Ï¾¤Ë¥Ç¥£¥¹¥¯¥¢¥¯¥»¥¹¤ò¤·¤è¤¦¤È¤¹¤ë ¥×¥í¥»¥¹¤¬¤Ê¤¤¾ì¹ç¤Ë¤Î¤ß I/O »þ´Ö¤ò¼èÆÀ¤¹¤ë¡£ idle ¥¯¥é¥¹¤Ë¤Ï class data (Í¥ÀèÅÙ) ¤ÏÍÑ°Õ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£ ¥×¥í¥»¥¹¤Ë¤³¤ÎÍ¥ÀèÅÙ¤ò³ä¤êÅö¤Æ¤ëºÝ¤Ë¤ÏÃí°Õ¤¬É¬ÍפǤ¢¤ë¡£ ¤Ê¤¼¤Ê¤é¡¢Í¥ÀèÅ٤ι⤤¥×¥í¥»¥¹¤¬¾ï¤Ë¥Ç¥£¥¹¥¯¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï ¥Ç¥£¥¹¥¯¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ë¤«¤é¤À¡£

CFQ I/O ¥¹¥±¥¸¥å¡¼¥é¤Î¹¹¤Ê¤ë¾ðÊó¤È¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ¤Ï Documentation/block/ioprio.txt ¤ò»²¾È¤Î¤³¤È¡£

I/O Í¥ÀèÅÙ¤ÎÀßÄê¤ËɬÍפʵö²Ä

¥×¥í¥»¥¹¤ÎÍ¥ÀèÅÙ¤òÊѹ¹¤¹¤ëµö²Ä¤¬ÆÀ¤é¤ì¤ë¤«¤É¤¦¤«¤Ï °Ê²¼¤Î 2¤Ä¤Î¾ò·ï¤Ë´ð¤¤¤Æ·èÄꤵ¤ì¤ë¡£
¥×¥í¥»¥¹¤Î½êÍ­¸¢
ÈóÆø¢¥×¥í¥»¥¹¤Ï¡¢¥×¥í¥»¥¹¤Î¼Â UID ¤¬¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î¼Â UID ¤â¤·¤¯¤Ï ¼Â¸ú UID ¤È°ìÃפ¹¤ë¥×¥í¥»¥¹¤Î I/O Í¥ÀèÅ٤ΤߤòÀßÄê¤Ç¤­¤ë¡£ CAP_SYS_NICE ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò»ý¤Ä¥×¥í¥»¥¹¤Ï¡¢¤É¤Î¥×¥í¥»¥¹¤ÎÍ¥ÀèÅ٤ǤâÊѹ¹¤Ç¤­¤ë¡£
¤É¤ÎÍ¥ÀèÅÙ¤ËÀßÄꤷ¤è¤¦¤È¤·¤Æ¤¤¤ë¤«
Èó¾ï¤Ë¹â¤¤Í¥ÀèÅÙ (IOPRIO_CLASS_RT) ¤äÈó¾ï¤ËÄ㤤ͥÀèÅÙ (IOPRIO_CLASS_IDLE) ¤òÀßÄꤷ¤è¤¦¤È¤¹¤ë¾ì¹ç¡¢ CAP_SYS_ADMIN ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤¬É¬ÍפǤ¢¤ë¡£

ioprio_set() ¤Ï¤³¤ÎξÊý¤Î¥ë¡¼¥ë¤Ë½¾¤¤¡¢¾ò·ï¤òËþ¤¿¤µ¤Ê¤¤¾ì¹ç¡¢¥¨¥é¡¼ EPERM ¤Ç¼ºÇÔ¤¹¤ë¡£

¥Ð¥°

glibc ¤Ï¡¢¤³¤Î¥Ú¡¼¥¸¤Ëµ­ºÜ¤µ¤ì¤¿´Ø¿ô¥×¥í¥È¥¿¥¤¥×¤ä¥Þ¥¯¥í¤òÄêµÁ¤¹¤ë ŬÀڤʥإåÀ¥Õ¥¡¥¤¥ë¤ò¤Þ¤ÀÄ󶡤·¤Æ¤¤¤Ê¤¤¡£ ɬÍפÊÄêµÁ¤Ë¤Ä¤¤¤Æ¤Ï linux/ioprio.h ¤ò¸«¤ì¤Ð¤è¤¤¡£

´ØÏ¢¹àÌÜ

getpriority(2), open(2), capabilities(7)

¥«¡¼¥Í¥ë¡¦¥½¡¼¥¹Æâ¤Î Documentation/block/ioprio.txt