Назад | Перейти на главную страницу

Сколько места в файловой системе Solaris / tmp?

В Solaris файловая система / tmp является файловой системой типа "tmpfs". Это реализовано в ядре за счет выделенного пространства из пула виртуальной памяти. Это означает, что распределение взаимодействует с доступной оперативной памятью на машине и доступным пространством подкачки.

Если у меня есть машина с большой памятью (много ОЗУ) с умеренным разделом подкачки меньшего размера, будет ли размер моего пространства / tmp ограничиваться памятью, или пространством подкачки, или их суммой?

Число, показанное "df -h / tmp", похоже, не отражает свободную оперативную память, только пространство подкачки.

Вот что я знаю на данный момент. Я помещу это здесь в надежде, что это будет полезно, но улучшения приветствуются.

Сумма пространства подкачки и ОЗУ должна быть доступна для использования файлами / tmp. Вы можете узнать больше об этом на страницах руководства для tmpfs, mount_tmpfs и swap.

Вот некоторые соответствующие документы:

Администрирование Oracle Solaris 11.1: устройства и файловые системы http://docs.oracle.com/cd/E26502_01/html/E29006/fsswap-29713.html

В конце страницы руководства tmpfs я нашел следующее:

 df(1M) output is of limited accuracy since a tmpfs file sys-
 tem  size  is not static and the space available to tmpfs is
 dependent on the swap space demands of the entire system.

Документ поддержки Oracle 1007407.1 предполагает, что реализация сообщает о нехватке места, если это условие выполняется:

 ((RAM + swap - process-space) * .9) - space-from-files-in-tmp = 0

Похоже, это указывает на то, что здесь присутствует какой-то фактор выдумки.

Моя интерпретация этой формулы заключается в том, что запущенным процессам разрешено приближаться к истинному пределу памяти + подкачки. Пространство, выделенное в / tmp, начнет выходить из строя, когда свободное пространство в (RAM + swap) приблизится к 10%. Если у вас большой объем оперативной памяти (например, 128 ГБ) и небольшой размер подкачки по умолчанию (например, 4G), то это означает, что / tmp может сообщить, что он заполнен, прежде чем какие-либо страницы будут вообще выделены из пространства подкачки. В этом нет ничего плохого, это просто любопытный поворот традиционных алгоритмов и предположений виртуальной памяти.