Я пытаюсь установить пакет python pandas в virtualenv с помощью pip.
На моей машине разработки он установлен правильно, но теперь я пытаюсь использовать сервер, он заходит так далеко, что кажется, что он застрял:
warnings.warn(LapackSrcNotFoundError.__doc__)
/apps/PYTHON/2.7.3/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'define_macros'
warnings.warn(msg)
non-existing path in 'numpy/distutils': 'site.cfg'
non-existing path in 'numpy/lib': 'benchmarks'
Could not locate executable gfortran
Could not locate executable f95
Found executable /apps/modules/wrappers/fortran/ifort
Вверху показано, что ifort работает с 46% ЦП.
Могу ли я как-нибудь определить, правильно ли он работает (например, могу ли я проверить файлы, которые он обновляет), или застрял ли он в цикле?
Он работает уже 40 минут.
Получите pid (pidof process
или top
или ps
и т. д.) процесса и использования strace -p <pid>
. Если вы видите, что он опрашивает или постоянно вызывает одни и те же системные вызовы снова и снова, это, вероятно, застряло в бесконечном цикле. Чтобы определить, застрял ли он в бесконечном цикле, вы должны использовать временные особенности strace (хотя это всего лишь предположение).
Если вы просто сделаете старый добрый strace -p <pid>
вы действительно будете видеть только системные вызовы, но не данные, передаваемые между ними; чтобы увидеть эти данные, также укажите -s
параметр. Если процесс разветвляется, вы не увидите ни одного из его дочерних элементов в strace, поэтому обязательно укажите -f
чтобы увидеть, какие системные вызовы делают дети.
Вы также можете узнать, сколько времени проходит между системными вызовами; для этого вы можете использовать -tt
и -r
и -T
. Если есть опрос, это может быть совершенно нормально, если он ожидает создания файла.