Фактические различия в компиляции между процессорами

После поиска примера без тегов (на русском языке!) С тех пор мне удалось исправить это самому, используя упрощенную версию команд ngctl в моем вопросе, которая просто возвращает несоответствующие пакеты непосредственно обратно в ipfw :

ngctl -f- <<-__END__
  mkpeer ipfw: bpf $cookie filter
  name ipfw:$cookie CLASSIFIER
  mkpeer CLASSIFIER: tag matched tag_bad
  name CLASSIFIER:matched TAGGER
  msg CLASSIFIER: setprogram { thisHook="filter" ifNotMatch="filter" ifMatch="matched" $prog }
  msg TAGGER: sethookin { thisHook="tag_bad" ifNotMatch="tag_bad" }
  msg TAGGER: sethookout { thisHook="tag_bad" tag_cookie=$mtag_ipfw tag_id=$tag }
  msg CLASSIFIER: setprogram { thisHook="matched" ifMatch="filter" ifNotMatch="filter" bpf_prog_len=1 bpf_prog=[ { code=6 k=65535 } ] }
__END__

-121--145044-

Вы можете использовать pgrep. Для получения информации о подсчете см. man pgrep

    $pgrep nagios                 #list all the process ids

:

    $pgrep nagios | wc -l

-121--228254-

Удаление конфигурации репозитория не приводит к удалению полученных из него пакетов, и эти пакеты имеют разорванные зависимости.

CentOS принудительно предупреждает , что некоторые сторонние репозитории ломают систему , перезаписывая базовые пакеты. Есть несколько проверенных хранилищ, проверенные (несколько) не вызывают ужасного горя.

Удалите разбитые пакеты ( yum delete broken-package ), избавьтесь от внешних хранилищ (за исключением EPEL они действительно не находятся в тесной связи с CentOS). Затем выполните yum distro-sync и package-cleanup --проблемы , чтобы (надеюсь) устранить разрыв.

0
21.09.2018, 00:45
2 ответа

Если вы действительно намерены максимизировать оптимизацию, тогда вы будете использовать целевые -конкретные оптимизации, в том числе те, которые основаны на знании размеров кэш-памяти процессора. Это означает, что вам почти наверняка понадобится один компилятор на процессор, хотя вы можете компилировать на самом быстром доступном процессоре для любого из остальных с соответствующими настройками -marchи -mtune.

1
28.01.2020, 02:31

Похоже, вы смешиваете две разные проблемы. Архитектура, на которой вы компилируете код, не обязательно подразумевает что-либо о коде, сгенерированном компилятором. Например, рассмотрим:

$ gcc -o hello hello.c

Для данной версии gccэто, вероятно, будет генерировать один и тот же код для данной аппаратной архитектуры независимо от того, какой у вас базовый ЦП.

Есть некоторые исключения. Например, флаг -march=nativeзаставит компилятор выдать код, который может использовать возможности ЦП локальной машины. Но даже в этом случае вы можете явно указать значение для march, которое отличается от архитектуры ЦП вашей машины, и компилятор выдаст код, который может не работать на вашей машине.

1
28.01.2020, 02:31

Теги

Похожие вопросы