FAQ FreeBSD - Аппаратные ограничения FreeBSD

ОГЛАВЛЕНИЕ

1.26. Какие имеются ограничения на объём оперативной памяти?

Размер оперативной памяти ограничен объёмом в 4 гигабайта. Такая конфигурация
реально тестировалась, подробности есть в конфигурации wcarchive. Если вы
собираетесь устанавливать столько оперативной памяти в компьютер, будьте в
нимательны. Скорее всего, вам придётся использовать память ECC и для уменьшения
нагрузки также взять 9-чиповые модули памяти вместо 18-чиповых.

1.27. Какие существуют ограничения для файловой системы ffs?

Для файловой системы ffs максимальный теоретический размер равен 8 терабайтам
(2Г блоков) или 16ТБ при стандартном размере блока 8К. На практике есть
программное ограничение в 1 терабайт, но с некоторыми модификациями достижимы 4
гигабайта (и такие системы существуют).

Максимальный размер одного файла ffs равен примерно 1Г блоков (4ТБ) при размере
блока 4К.
Table 1-2. Maximum file sizes
+-------------+------------+-----------+------+-----------+
|fs block size|2.2.7-stable|3.0-current|works |should work|
+-------------+------------+-----------+------+-----------+
|4K           |4T-1        |4T-1       |4T-1  |4+t        |
+-------------+------------+-----------+------+-----------+
|8K           |32+G        |8T-1       |32+G  |32T-1      |
+-------------+------------+-----------+------+-----------+
|16K          |128+G       |16T-1      |128+G |32T-1      |
+-------------+------------+-----------+------+-----------+
|32K          |512+G       |32T-1      |512+G |64T-1      |
+-------------+------------+-----------+------+-----------+
|64K          |2048+G      |64T-1      |2048+G|128T-1     |
+-------------+------------+-----------+------+-----------+
При размере блока файловой системы 4К, тройная адресация блоков работает и всё
должно быть ограничено максимальным количеством блоков, которое задаётся в виде
тройной переадресации блока (примерно 1K^3 + 1K^2 + 1K), однако всё ограничив
ается (ошибочным) лимитом 1Г-1 на количество блоков файловой системы. Это
ограничение должно быть равным 2Г-1. При количестве блоков, приближающемся к
2Г-1, появляются некоторые ошибки, но этот предел недостижим при размере блока
4К.
При размере блока 8К и больше, всё должно быть ограничено лимитом 2Г-1 на
количество блоков файловой системы, но реально ограничено пределом в 1Г-1 на
число блоков файловой системы, кроме случая -STABLE, недостижимый при тройной
переадресации, так что предел равен максимальному числу блоков файловой
системы, который может быть представлен через двойную переадресацию (примерно
(размер блока/4)^2 + (размер блока/4)), и под -CURRENT превышение этого
ограничения может вызвать проблемы. Использование верного ограничения в 2Г-1
блоков вызывает проблемы.

1.28. Как можно поместить файлы размером 1ТБ на дискету?

Я храню парочку таких на дискете :-) Максимальный размер файла не связан
непосредственно с максимальным размером диска. Максимальный размер диска равен
1ТБ. Особенностью является то, что размер файла может превышать размер диска.
В следующем примере создаётся файл размером 8Т-1 с помощью всего 32К дискового
пространства (3 блока адреса и 1 блок данных) на маленьком корневом разделе.
Команда dd должна уметь работать с большими файлами.
    % cat foo
    df .
    dd if=/dev/zero of=z bs=1 seek=`echo 2^43 - 2 | bc` count=1
    ls -l z
    du z
    df .
    % sh foo
    Filesystem  1024-blocks     Used    Avail Capacity  Mounted on
    /dev/da0a         64479    27702    31619    47%    /
    1+0 records in
    1+0 records out
    1 bytes transferred in 0.000187 secs (5346 bytes/sec)
    -rw-r--r--  1 bde  bin  8796093022207 Sep  7 16:04 z
    32  z
    Filesystem  1024-blocks     Used    Avail Capacity  Mounted on
    /dev/da0a         64479    27734    31587    47%    /

Bruce Evans, September 1998