В моей системе Linux (GNU coreutils 8.12) я смог проверить (использование strace
) это tail -f
¹ использует lseek
системный вызов для перескакивания через большую часть файла быстро:
lseek(3, 0, SEEK_CUR) = 0
lseek(3, 0, SEEK_END) = 194086
lseek(3, 188416, SEEK_SET) = 188416
Это означает, что размер отслеженного файла не должен иметь значения в так или иначе.
Возможно, можно проверить, применяется ли то же на систему. (Очевидно, это должно иметь место.)
—
1. Я также пытался отключить поддержку inotify с недокументированным ---disable-inotify
, на всякий случай.
Я попытался бы диагностировать, если это - проблема с Вашей средой VM или Вашим кодом. Вот некоторые вещи рассмотреть о Вашем VM.
Вам настраивали VMware, чтобы предоставить доступ нескольким ЦП? У меня нет опыта с последними версиями, но он раньше был чем-то, что необходимо было конкретно позволить. В VirtualBox у меня есть опция в конфигурации виртуальной машины, которая указывает, со сколькими ЦП гостю разрешают работать.
Если Вы cat /proc/cpuinfo
от Вашего гостя Ubuntu Вы видите больше чем один ЦП?
Вы получаете надлежащее использование нескольких ЦП, если Вы делаете что-то универсальное как вход в Ваше ядро получает выполнение компиляции ядра с make -j10
?
Если бы какая-либо из этих вещей поднимается неправильно, они указали бы, что Ваш VM неправильно конфигурируется вместо того, чтобы там быть проблемой с Вашим кодом.