1. 程式人生 > >Linux環境下提高程序優先順序

Linux環境下提高程序優先順序

在嵌入式Linux系統中,大多都是跑一個核心的業務,在資料吞吐量大的時候,會大量佔用CPU,導致資料處理不過來,常規辦法是優化程式或者更換更高效能的平臺來解決,但是如果程式已經優化到極限和平臺無法更換的情況下,可以通過提高業務程序的優先順序來提高業務資料的吞吐量,例如:

nice -n -20 ./bin 

nice為Linux環境下的改變程序優先順序的命令,-n為程序優先順序級別引數,-20為優先順序級別,Linux一共有40個優先順序,分別從-20到19,-20為最高優先順序,19為最低優先順序,一般程式預設優先順序為0,只有root許可權才能將程序優先順序設為負數,如果程式已經在執行,可以使用renice,在不中斷程式的情況下改變其優先順序,程式處於哪個優先順序可以通過top命令檢視,NI欄位則為對應該程式的優先順序。在做網路資料分析的時候該方法非常管用,沒有提高優先順序時,資料吞吐量大概為800Mbps,再往上就開始處理不過來了,直到應用層buffer滿了導致資料丟失,將程序提高到最高優先順序,資料吞吐量可以提高到接近900Mbps,效果相當明顯。