為什麼 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.

相關內容