cut -f1 file | sort | uniq -c | sort -rn
cut
использует TAB в качестве разделителя полей по умолчанию; -f1
выбирает первое поле. uniq -c
для подсчета количества (непрерывных) повторений, sort -rn
для сортировки числового порядка в обратном порядке. \ thanks {Джефф Шаллер}
Реальное время Linux не является эмуляцией, существуют системные вызовы, влияющие на планирование. См. man sched(7)
. Из вашего вопроса неясно, что вы пытаетесь сделать и в чем именно заключается ваша проблема. Значение sched_priority
имеет значение только относительно приоритетов других потоков. Например, если есть только один поток с приоритетом > 0, не имеет значения, равен ли приоритет 1 или 40; более высокое значение не даст дополнительного «ускорения» потоку. Вам нужно будет определить относительный приоритет, необходимый для ваших потоков, и соответствующим образом присвоить им значения приоритета.
Обратите внимание, что с потоками SCHED_FIFO
не связан квант времени. Поток SCHED_FIFO
работает до тех пор, пока не произойдет одно из следующего: :поток заблокирован, поскольку он ожидает ввода-вывода, поток с более высоким приоритетом готов к выполнению или поток добровольно уступает процессор. Вам придется принять это во внимание, если у вас есть несколько потоков с одинаковым приоритетом, иначе один поток может перегрузить ЦП из других потоков. Конечно, на многопроцессорной машине несколько потоков могут выполняться одновременно, каждый на своем собственном процессоре.