Кажется, нет способа использовать sysctls, чтобы определить, включили ли системе гиперпоточность или нет. hw.ncpu
просто сообщит ядру, сколько центральных процессоров доступно, который будет включать ядра, гиперпотоки и отдельные процессоры.
Кроме того, ссылка от принца John Wesley с 2006, и больше не кажитесь релевантными.
Так, как я очень не хочу держать dmesg
, можно сделать следующее (на FreeBSD 8.x):
dmesg | grep SMT
Гиперпоточные системы должны возвратить результат. Не гиперпоточные системы не должны.
От POV rsyslog все еще существует удаленный файл журнала. Это вызвано тем, что rsyslog не пишет в имя файла, он пишет в дескриптор файла, который он имеет открытый для файла журнала.
Системы Unix на самом деле не удаляют файл, пока нет никаких процессов с открытыми дескрипторами в файл. Это означает, что дисковое пространство, используемое удаленным файлом, не освобождено, пока любой и все открытые дескрипторы файлов не закрываются. Это также означает, что любые процессы с открытыми дескрипторами файлов в удаленный файл могут продолжить читать из и/или писать в файл.
Отправка Сигнала HUP (например, через pkill -HUP rsyslog
или /etc/init.d/rsyslog rotate
) к rsyslog говорит этому закрыть все свои открытые файлы, перезагрузить его файл конфигурации и вновь открыть все файлы журнала для записи (создающий их при необходимости).
Перезапуск rsyslogd также работает.
Обратите внимание, что это - функция, не ошибка, с некоторыми полезными последствиями - например, это - почему rsyslog продолжает писать в тот же файл журнала даже после того, как она была повернута (т.е. renamed/mv-ed), пока rsyslog не получает Сигнал HUP. Это означает, что обрабатывающие журнал сценарии и утилиты не должны быть тщательно тщательны относительно синхронизации - они могут просто повернуть все журналы, отправить rsyslog ПОНУКАНИЕ, и все продолжает работать без потери данных логов.
BTW, единственный путь к этому для не случая с rsyslog был бы этим, если закрыто и вновь открыто каждый файл журнала на каждой записи (или по крайней мере названный sync()
). Производительность была бы плачевна.
Разве эта опция не делает то, что Вы хотите, $FileCreateMode?
выборка
$FileCreateMode 0600
This sample lets rsyslog create files with read and write access only for the
users it runs under.
The following sample is deemed to be a complete rsyslog.conf:
$umask 0000 # make sure nothing interferes with the following definitions
*.* /var/log/file-with-0644-default
$FileCreateMode 0600
*.* /var/log/file-with-0600
$FileCreateMode 0644
*.* /var/log/file-with-0644
Соответственно rsyslog документация, Аргумент файла Выходного Модуля Файла мог использоваться, чтобы сделать это.
выборка omfile модуль
Файл
Если файл уже существует, новые данные добавляются к нему. Существующие данные не являются усеченными. Если файл уже не существует, он создается. Файлы сохранены открытыми, целый rsyslogd активен. Это конфликтует с внешним вращением файла журнала. Для закрытия файла после вращения отправьте rsyslogd Сигнал HUP после того, как файл был повернут далеко.
Я думаю в конечном счете, что необходимо "инициировать" rsyslog, чтобы сделать это. Я не думаю, что это будет, что Вы хотите автоматически. Таким образом, Вы могли дать ему Сигнал HUP для инициирования воссоздания файла журнала после того, как это удалено.
$ sudo pkill -HUP rsyslog
Выполнение так создало следующие сообщения в моем /var/log/messages
файл журнала:
Sep 26 15:16:17 grinchy rsyslogd: [origin software="rsyslogd" swVersion="4.6.3" x-pid="1245" x-info="http://www.rsyslog.com"] rsyslogd was HUPed, type 'lightweight'.
Sep 26 15:16:44 grinchy rsyslogd: [origin software="rsyslogd" swVersion="4.6.3" x-pid="1245" x-info="http://www.rsyslog.com"] rsyslogd was HUPed, type 'lightweight'.