Где-то (не могу определить, где) переменной среды LC_ALL присваивается значение C. Вам нужно избавиться от этого назначения.
На странице https://help.ubuntu.com/community/EnvironmentVariables упоминается несколько файлов, которые обычно используются для постоянного сохранения переменных среды.
НТН
Я предполагаю, что у вас есть процессор с 8 виртуальными ядрами (возможно, четырехъядерный с гиперпотоком)? Это означает, что один полностью загруженный процессорный поток / виртуальное ядро равен 12,5% общей нагрузки.
Интерпретатор Python - это приложение, которое по умолчанию работает только как один процесс и поэтому не может использовать преимущества более чем одного виртуального ядра. Даже если код, который вы запускаете с ним, использует многопоточность, он будет использовать только один процессорный поток / виртуальное ядро из-за GIL (глобальный блокиратор интерпретатора).
Только если ваша программа Python использует GIL (блокировка глобального интерпретатора) , которая фактически запускает несколько экземпляров интерпретатора Python и позволяет им выполнять ваши задачи по-настоящему параллельно, вы можете принять преимущество нескольких виртуальных ядер / потоков ЦП. (Как отметил @SargeBorsch в своем комментарии, есть также некоторые продвинутые способы достижения этого без многопроцессорности, но обычно это не то, что вы быстро пишете сами.)
Я предполагаю, что у вас есть процессор с 8 виртуальными ядрами (возможно, четырехъядерный с гиперпотоком)? Это означает, что один полностью загруженный процессорный поток / виртуальное ядро равен 12,5% общей нагрузки.
Интерпретатор Python - это приложение, которое по умолчанию работает только как один процесс и поэтому не может использовать преимущества более чем одного виртуального ядра. Даже если код, который вы запускаете с ним, использует многопоточность, он будет использовать только один процессорный поток / виртуальное ядро из-за GIL (глобальный блокиратор интерпретатора).
Только если ваша программа Python использует GIL (блокировка глобального интерпретатора) , которая фактически запускает несколько экземпляров интерпретатора Python и позволяет им выполнять ваши задачи по-настоящему параллельно, вы можете принять преимущество нескольких виртуальных ядер / потоков ЦП. (Как отметил @SargeBorsch в своем комментарии, есть также некоторые продвинутые способы достижения этого без многопроцессорности, но обычно это не то, что вы быстро пишете сами.)
Я предполагаю, что у вас есть процессор с 8 виртуальными ядрами (возможно, четырехъядерный с гиперпотоком)? Это означает, что один полностью загруженный процессорный поток / виртуальное ядро равен 12,5% общей нагрузки.
Интерпретатор Python - это приложение, которое по умолчанию работает только как один процесс и поэтому не может использовать преимущества более чем одного виртуального ядра. Даже если код, который вы запускаете с ним, использует многопоточность, он будет использовать только один процессорный поток / виртуальное ядро из-за GIL (глобальный блокиратор интерпретатора).
Только если ваша программа Python использует GIL (блокировка глобального интерпретатора) , которая фактически запускает несколько экземпляров интерпретатора Python и позволяет им выполнять ваши задачи по-настоящему параллельно, вы можете принять преимущество нескольких виртуальных ядер / потоков ЦП. (Как отметил @SargeBorsch в своем комментарии, есть также некоторые продвинутые способы достижения этого без многопроцессорности, но обычно это не то, что вы быстро пишете сами.)
Другая возможность, менее вероятно в этом случае, заключается в том, что программа связана с диском, то есть она считывает и записывает на / с медленного диска, а ЦПУ ждет диск.
Другая возможность, менее вероятно в этом случае, заключается в том, что программа связана с диском, то есть она считывает и записывает на / с медленного диска, а ЦПУ ждет диск.
Другая возможность, менее вероятно в этом случае, заключается в том, что программа связана с диском, то есть она считывает и записывает на / с медленного диска, а ЦПУ ждет диск.