利用ionice命令设置程序的IO调度与优先级
我合并多个文件,用cat将流重定向到一个文件,或者把一个大文件rm掉腾出空间,要进行IO,但如果这个时候服务器有进程进行IO时,同个进程同时进行IO,效率就会很慢。有时候我想把别的进程IO缓一缓,先把合并或者rm的任务有限解决掉,再继续别的进程的IO。
就google了下如何提高效率,查ionice这个命令。
ionice - 获取或设置程序的IO调度与优先级,通过设置命令或进程的IO调度优先级,加快IO效率
命令格式
跟命令时,设置命令的IO调度优先级,跟PID时,设置相应进程的IPD调度优先级。
|
|
我也进行了测试,比如在有其进程进行IO工作时,我要在删除Fastq文件(R1文件20G,R2文件21G)时,用法详见下文。
|
|
可以看到当提高IO的优先级后,效率还是非常快的,当然这暂时牺牲了其他进程的IO。