提高一個應用程式/程式的處理器利用率

提高一個應用程式/程式的處理器利用率

我用克拉斯特X為了在我的家庭桌面上對齊幾個異常大的序列,這需要一周以上的時間才能完成,並且運行速度遠低於機器的最大容量。

給出top | grep clustalx以下輸出

5985 @用戶名 0 -20 1971048 105428 9012 R 99.9 2.7 5829:27 簇

它顯示 CPU 使用率約為 100,記憶體使用率約為 RAM 的 3%。但係統監視器卻說不然,

CPU使用歷史記錄和記憶體歷史記錄

圖中最多有2個CPU核心在運行,那是因為我使用的是firefox和系統監視器,否則只有一個。我還將 clusterx 的優先順序設為Very high,但我看不到明顯的改進。

我還應該做什麼,它會佔用更多的 CPU 和 RAM。任何建議都會有用。

平均負載~2.7(當我也使用其他程式時)

我看過以下與此相關的帖子,但他們沒有回答我的問題:

如何提高CPU使用率[關閉]

系統規格:
Ubuntu 64 位元 14.04 LTS,154GB HDD 分割區、4GB RAM、Intel Core i3-4130 CPU @ 3.40GHz × 4 處理器和 10 GB 交換空間。

節目規格: ClustalX for linux - 用於生物序列比對。

為了確定我的程式是否為 32/64 位,我使用

find /usr/bin/clustalx

/usr/bin/clustalx:ELF 64 位元 LSB 執行文件,x86-64,版本 1 (SYSV),...

答案1

簡單:只要有核心,就可以多次執行程式...

我對多種格式的視訊進行相同的轉碼:並非所有視訊編碼器都支援多核心/多 CPU,因此我在一個核心和另一個核心上運行一種解析度的視訊編碼(使用不同的命令列)參數)在另一個核心上。

低品質審稿者:一些複雜的問題有極為簡單的解決方案。

答案2

根據這個:

https://www.biostars.org/p/44231/

聽起來clustalx只會有一個核心,你需要使用clustal omega或mafft。

相關內容