D3 Reference Manual

Index | Help

Поиск по страницам

Разделы / Команды системы (TCL) / set-ovf-local

set-ovf-local

Устанавливает и выводит на экран размер локального кэша

set-ovf-local {ws.max}{, fs.max} {(options}

Наличие локального кэша переполнения увеличивает как производительность, так и надежность. По умолчанию система автоматически устанавливает разумные размеры кэша. Пользователи, которым требуется более тонкое управление областью переполнения, могут изменить параметры кэша с учетом своих требований с помощью команды "set-ovf-local".

Команда "set-ovf-local" без опций показывает состояние кэша для текущего порта. Выводится таблица размерностью 2 х 2, содержащая числа. Таблица имеет следующие заголовки:

Current – текущее количество фреймов, действительно находящихся в данном кэше.
Max – максимальное количество фреймов, которое может вместить данный кэш. Если освобожденные фреймы возвращаются в локальный кэш, а он заполнен до максимума, то эти фреймы направляются непосредственно в главную таблицу переполнения.
WS – в этой строке показывается текущий и максимальный размеры кэша рабочей области.
File – в этой строке показывается текущий и максимальный размеры кэша файлов.
Параметры

Помимо вывода на экран текущего состояния кэша, команду "set-ovf-local" можно использовать для изменения текущих максимальных размеров кэша. Для этого в командной строке указываются следующие числовые параметры:

ws.max – устанавливает максимальный размер кэша рабочей области.
fs.max – устанавливает максимальный размер кэша файлового пространства.
Описание кэша

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

Кэш файлов используется только в случае, если включен механизм защиты обновлений (update-protection scheme). Механизм защиты обновлений помещает фреймы в этот буфер и гарантирует их синхронизацию таким образом, что ни один другой файл или рабочая область на диске не может указывать на него.

Фактически, это устраняет возможность появления фреймов с так называемыми "двойными связями" (doubly linked frame), когда после отказа питания или общесистемного сбоя один и тот же фрейм оказывается присоединен к двум файлам. Этот кэш должен быть достаточно большим, чтобы вместить самую большую группу или самую большую запись-указатель, защищенную механизмом защиты обновлений. Если, например, пользователь имеет файл с записями по 30 килобайтов в системе с размером фреймов 2K, то размер кэша файлов должен быть, по крайней мере, 30K/2K = 15 фреймов.

Настройка кэша

В идеале система должна максимально использовать локальные кэши переполнения. Чем реже система обращается к глобальной таблице переполнения, тем выше ее производительность и тем меньше вероятность появления форматных ошибок в фреймах в случае отказа питания. Чтобы правильно настроить размеры кэша, надо проверить его работу, устанавливая различные значения параметров, и оценивая интенсивность использования таблицы переполнения с помощью команды "buffers (s". Поля "WS OVF locks" и "FILE OVF locks" показывают количество обращений к глобальной таблице переполнения в секунду.

Опции:

s Подавляет вывод на экран.
f Сбрасывает все кэши. Все фреймы, находящиеся в текущем кэше, освобождаются и возвращаются в глобальную таблицу. Следует отметить, что эта операция вызывается автоматически, если изменяются максимальные размеры. Все локальные кэши переполнения автоматически сбрасываются при выходе из системы (во время процедуры "logoff").
g Копирует текущие максимальные размеры кэша в глобальные параметры, которые используются по умолчанию. Каждый раз, когда в систему входит новый пользователь, он автоматически получает эти значения по умолчанию. Следует отметить, что при перезагрузке в глобальные параметры автоматически возвращаются стандартные значения, установленные производителем. Поэтому, если требуется, чтобы измененные значения глобальных параметров были постоянными, следует поместить команду "set-ovf-local" в макрос "холодного" старта системы "system-coldstart".

Примеры:

set-ovf-local
        
Private Overflow Cache Status:
(Состояние локального кэша переполнения)

           Current   Max
WS            2      20
File         10      30

Эта таблица показывает, что в данный момент кэш переполнения содержит 2 фрейма рабочего пространства при максимально возможном количестве 20 фреймов и 10 фреймов файлового пространства при максимально возможном количестве 30 фреймов.

set-ovf-local 100,300 (s

Эта команда устанавливает максимальный размер кэша рабочего пространства для текущего порта равным 100, а максимальный размер кэша файлов - 300.

set-ovf-local (fs

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

set-ovf-local 100,300 (sg

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