CentOS 6,5 шип

0

Я разработал приложение на C. Я запускаю это приложение на "Red Hat Enterprise Linux Server release 5.8 (Tikanga)", и все выглядит хорошо, но когда мы развертываем это приложение на "CentOS версии 6.5 (Final)", он начинает делать проблемы. Он занимает больше памяти chache, и через 30-45 минут он поднимает всплеск, и все процессоры показывают 100% -ное использование процессора в течение 1-2 секунд.

Я google эту проблему и обнаружил, что CPU с высоким уровнем использования usleep на Cent OS 6.3

Поскольку один процесс в моем приложении использует 10 usleep. Он занимает менее 3% процессора в RedHat, однако он занимает довольно много в CentOS около 90%. После прочтения ссылки, когда я изменяю сон с 10 usleep на 1000 usleep или 1 us, тогда он занимает 40% CPU.

Мне нужно знать, что в ядре CentOS 6.5 используются высокоскоростные таймеры или нет, или мне нужно установить любую конфигурацию при компиляции ядра.

Теги:
centos6

1 ответ

0
Лучший ответ

Во-первых, вы сравниваете яблоки и апельсины: CentOS 6 соответствует RHEL 6. Очень вероятно, что ваш код будет вести себя одинаково на RHEL 6.5, как это делается на CentOS 6.5, и то же самое на CentOS 5.8, как на RHEL 5.8. Недостаточно описать проблему как разницу между RHEL и CentOS.

Во-вторых, если ваше использование процессора сильно зависит от нескольких вызовов usleep() (выполняется, по-видимому, очень много раз), тогда ваш код является ошибочным, и вы должны его исправить. Создание настраиваемого ядра для маскировки проблемы было бы довольно отсталым. Тем не менее, если целью является больше перейти на CentOS, чем перейти к (несколько) более современной среде, переключитесь на CentOS 5 вместо CentOS 6.

  • 0
    Я пробовал другое решение задержки, но не могу получить желаемый результат на Centos 6.5, поэтому я увеличиваю время задержки с 10 микросекунд до 10 миллисекунд. Спасибо за помощь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню