为什么 Timidity 占用了一个核心的所有处理能力

为什么 Timidity 占用了一个核心的所有处理能力

所以我之前问过为什么 timidity在我的系统上运行并得到了与systemd.

现在我想知道为什么它占用了我的一个核心(我的处理器是 AMD Athlon(tm) II X4 640 处理器,因此它有 4 个核心)。

如果我在进程上运行 strace,我会得到以下结果(运行了几秒钟,似乎在重复,所以我在那之后停止了):

ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0

根据以下信息,该进程打开的文件是/proc/$PID/fd

/dev/null
/dev/snd/timer
/dev/snd/pcmC0D0p
/dev/snd/controlC0
/dev/snd/seq

Linux 发行版是 Debian 稳定版 (Jessie)。的版本timidity2.13.2-40.2.

相关内容