提高一个应用程序/程序的处理器利用率

提高一个应用程序/程序的处理器利用率

我用ClustalX为了在我的家用台式机上对齐几个异常大的序列,这花了一个多星期才完成,并且远低于机器的最大容量。

给出top | grep clustalx以下输出

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

它显示 CPU 使用率约为 100,内存使用率约为 3% RAM。但系统监视器却显示并非如此,

CPU 使用率历史记录和内存历史记录

图片中最多有 2 个 CPU 核心在运行,这是因为我正在使用 Firefox 和系统监视器,否则只有一个。我还将 clustalx 的优先级设置为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 交换空间。

项目规格: 适用于 Linux 的 ClustalX — 用于生物序列比对。

为了确定我的程序是 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。

相关内容