То, что максимальная память является процессом на 64 бита, может использовать?

Используя простой текст файлы имеют преимущество, что Вам не нужна никакая база данных определенные инструменты для получения записей в журнале.

Можно проанализировать их с grep, если Вам нравится, можно открыть их с любимым пейджером, и можно обработать их в любимом языке сценариев как Perl, Python, и т.д. без потребности любых дополнительных библиотек.

В системе Unix у Вас уже есть некоторый "системный журнал API". Это называют системным журналом. Системным журналом не является действительно API, но это - стандарт для входа сообщений. Имя обозначает сетевой протокол и библиотеку и демона позади нее.

Конфигурация по умолчанию большинства систем является демоном системного журнала, слушающим локальные сообщения.

Демон принимает сообщения и делает вход. Существует несколько различных реализаций демонов системного журнала для всего вида платформ, и также возможно зарегистрировать Ваши сообщения к базе данных.

Вам решать.

1
27.09.2011, 03:13
2 ответа

По определению (по крайней мере, по общему определению), 64-разрядный процесс может только видеть 264 байта памяти. На практике большинство операционных систем ограничивает каждый процесс немного меньше, чем доступное адресное пространство, так, чтобы ядро могло управлять с 64 значениями, который может быть указателями на память ядра, память процесса или память устройства. 4EB или 8EB предел распространен.

Задолго до этого Вы, вероятно, поразите архитектурно-зависимый предел. В частности, карта распределения памяти процесса должна поместиться в MMU машины, и аппаратные средства имеют тенденцию иметь только столько же битов по мере необходимости. MMUs идут с четырьмя уровнями таблиц страниц, и Linux (среди других) может поддерживать все четыре: PGD (глобальный каталог страницы) список ПУДИНГОВ (страница верхние каталоги) перечисляющий PMDs (страница каталоги среднего уровня) перечисляющий PTEs (записи таблицы страниц). Так как каждый уровень абстракции является еще одним шагом для принятия большей части указателя, разыменовывает, системы. Размеру страницы свойственно быть 4 КБ (21 242 адресуемых байта, однако большая часть 64-разрядной архитектуры может быть настроена для больших таблиц страниц, таким образом, трудно дать любой вид общего ответа на вопрос того, как высоко можно пойти.

Обратите внимание, что предел адреса для каждого процесса независим от сколько физической памяти, там может быть в машине. Например, количество каналов, доступных на сокетах DIMM в ПК, является теоретическим пределом тому, сколько RAM Вы можете иметь в том, что ПК (хотя ширина шины памяти ЦП обычно является ограничивающим фактором). Это не имеет никакого влияния, сколько памяти или сколько может использовать адресное пространство процесс (память могла быть выгружена или совместно использована несколькими узлами многопроцессорной машины NUMA).

5
27.01.2020, 23:13

Теоретический максимум ограничен сегментацией памяти, используемой на ЦП, например, X86-64 использует абсолютный механизм (сегменты запускаются в 0 и имеют вместимость 264), но сама ОС может осуществить искусственные пределы на размер процесса.

2
27.01.2020, 23:13
  • 1
    определяет "ОС" и как это отличается от ядра. Какое-либо из текущих ядер ограничивает это поведение в системах на 64 бита? –  jcolebrand 27.09.2011, 03:41
  • 2
    "ОС" является ядром плюс любые модули и библиотеки, требуемые к операции поддержки машины. Я не знаю ни о ком *nices, которые осуществляют предел процесса, но я действительно знаю, что некоторые осуществляют физический предел. –  Ignacio Vazquez-Abrams 27.09.2011, 03:56

Теги

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