На странице руководства cset-shield
есть следующее примечание:
Если для экрана задана необязательная опция --kthread = on , то все потоки ядра (за исключением потоков ядра с прерываниями, привязанными к процессору) также перемещаются в системный набор.
Я интерпретирую это как «(некоторые) потоки ядра прерывания связаны с процессором». Судя по названию, ksoftirqd
(демон IRQ ядра) кажется вероятным кандидатом! (Кстати, я не думаю, что эти потоки ядра повлияют на измерения производительности.)
Проблема решена:
#!/bin/bash
avfile=/tmp/video.mp4
ffmpeg -i "$avfile" -c:v libx264 -crf 23 -map 0 -segment_time 4 -g 4 -sc_threshold 0 -force_key_frames "expr:gte(t,n_forced*4)" -f segment /tmp/output/"${avfile%.mp4}%03d.mp4"