_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : Igor Hrapovskii 2:5062/1.20 04 Aug 99 22:07:36
Subj : [Linux] Увеличение скорости IDE Harddisk, Фрагментация.
________________________________________________________________________________
Привет All...
1999.07.19 - Увеличение скорости IDE Harddisk
Двукратное увеличение скорости было замечено на массивных дисковых операциях
ввода/вывода (таких как клонирование диска) при установках для IDE устройства -
использовать DMA и 32-bit передачу данных.
Ядро кажеться по умолчанию использует более консервативные установки.
Комманда:
# /sbin/hdparm -c 1 /dev/hda (или hdb, hdc и т.д.)
Для испоьзования 32-bit I/O на PCI шине. ( В hdparm(8) manpage говориться что
вам может потребоваться использовать опцию "-c 3" для некоторых чипсетов
материнских плат. )
Команда:
# /sbin/hdparm -d 1 /dev/hda (или hdb, hdc и т.д.)
Использование DMA. Это может зависить от поддержки вашего чипсета на
материнской плате которая встроено в ядро.
Вы можете протестировать свои изменения запустив hdparm в режиме теста
скорости.
# /sbin/hdparm -t /dev/hda (или hdb, hdc т.д.)
Когда вы найдете оптимальные установки для себя , вы должны сделать:
# /sbin/hdparm -k 1 /dev/hda (или hdb, hdc т.д.)
для сохранения этих параметров до сброса IDE контроллера.
Я заметил, что ядро иногда ресетит IDE контроллер и если вы не
установите "-k 1", то установки будут сброшены на дефолтные
и вы потеряете свое увеличение призводительности.
Опция "-m" может быть использована для изменения кол-ва сектров передоваемых
за каждое прерывание. Вы можете получить дополнительный выигрыш "играя"
с ней, но мне она не помогла.
------------------------------------------------------------------------
Автор: Kenn Humborg, Получено с TuneLinux.com
1999.07.19 - Фрагментация.Ъ
Когда файл записываеться на диск он зачастую будет записан в последовательные
блоки. Файл который записан не в последовательные блоки- фрагментирован.
Hа чтение фрагментированного файла требуеться больше времени т.к. головка
диска совершает больше перемещений. Желательно избегать фрагментации.
Для систем с хорошим буфером кэша и с упреждающим чтением это меньшая проблема.
Ext2 файловая система пытаеться минимально фрагментировать файлы, сохраная
все блоки файла ближе друг к другу, даже когда они не могут быть сохранены в
последовательных секторах. Ext2 эффективно распологает свободные блоки -
которые наиболее близки к другим блокам файла. Для ext2 редко возникает
необходимость заботиться о фрагментации. Большенство дистрибутивов содержит
программы для дефрагментации, но если у вас ее нет вы можете взять ее здесь:
ftp://metalab.unc.edu/pub/Linux/system/filesystems/
Существует множество MS-DOS дефрагментирующих программ которые перемещают блоки
по всей файловой системе при дефрагментации. Для других типов
файловых систем дефрагментация может быть выполнена резервным копированием
файловой системы, пересозданием ее, и восстановлением файлов с резервных копий.
Резервное копирование файловой системы перед дефрагментацией являеться хорошей
идеей для всех типов файловых систем, т.к. могут произойти различные казусы
в течении фрагментации.
Другие утилиты для ext2 файловой системы:
В дополнение к mke2fs(создание файловой системы) и e2fsck(проверка) которые
обычно имеются в дистрибутиве, ext2 файловая система имеет некоторые
дополнительные утилиты, которые могут быть полезны:
tune2fs корректирует параметры файловой системы. Hекоторые наиболее интересные
параметры:
.Счетчик монтирования. e2fsck принудительно проверяет файловую систему при
достижении
определенного числа подключений(монтирования) ее, даже если флаг проверки
не установлен.
.Для систем которые используються для разработок или тестирования может
быть хорошей идеей уменьшить этот предел.
. Максимальное время между проверками. e2fsck может так же задавать максимальное
время между двумя проверками диска, даже если флаг проверки не установлен и
файловая система не была монтирована очень часто. Это может быть выключено.
. Число блоков зарезервированных для root. Ext2 резервирует некоторое кол-во
блоков для root так что если файловая система заполниться, все еще будет
возможность администрировать систему без необходимости удалять что-либо.
По умолчанию резервируеться 5%,что на некоторых дисках не экономно.
Hа флоппи дисках место не резервируеться.
Также смотрите:
debugfs это отладчик файловой системы. Он позволяет на прямую иметь доступ к
данным и структурам файловой системы и может быть использован в при
восстановлении
диска, если он настолько поврежден, что fsck не может исправить автоматически.
Он так же может быть использован для восстановления удаленных файлов. Hо
использование debugfs требует понимания что вы делаете, иначе вы можете
уничтожить
все свои данные.
dump и restore могут быть использованы для резервного копирования ext2
файловой системы. Они спечефичны для версии ext2 и входят в традиционный набор
утилит для резервного копирования в UNIX.
1999.07.26 - Зачем иметь большие блоки
Если вы в Linux постоянно работаете с большими файлами, вы должны обратить
внимание на увеличение скорости работы файловой системы при форматировании
вашего диска с большим размером блока. По умолчанию файловая система Linux
использует 1024 байта на блок. Кроме того, если вы манипулируете файлами
размером с 1Gb(прим переводчика: наверное автор хотел сказать 1Mb) вы можете
попробовать сделать подобное:
mke2fs -b 4096 /dev/что-то
При этом размер блока будет 4 кб, вместо 1кб. Это увеличит время перемещения,
уменьшит фрагментацию и увеличит скорость работы fsck.
Проблема только одна-вернуться к 1024 байт на блок можно опять таки
переформатированием. При форматировании данные бубут уничтожены.
Кроме того если вы серьезно думаете сделать это, вы так же должны знать,
что система резервирует 5% диска для логов и для роста, в случае если диск
полон. С 4кб блоками 5% будет занимать больше места. Вы можете уменьшить
это до 1% командой:
mke2fs -b 4096 -m 1 /dev/whatever
------------------------------------------------------------------------
Author: Larry Reckner [larryr@linux.com]
1999.07.22 - Что за файл программа изменила?
Если вам надо узнать какие файлы изменила программа(внутри дирректории)
когда она запустилась, перед запуском программы наберите комманду: touch *
Это изменит время создание файла на текущее. Запустите программу. Затем
посмотрите
на время создания снова. Программа модифицирывала те файлы у которых дата
поменялась.
------------------------------------------------------------------------
Автор: Marius Aamodt Eriksen [marius@linux.com]
1999.07.23 - Сделайте ваши файлы и дирректории немного защищенней.
Используйте комманду:
chattr +i из под root для того что бы сделать файлы и дирректории
неприкосаемыми для rm и т.д. Даже для root-а. Оменить можно :chattr -i
1999.07.24 - Бед блоки.
Hикогда не помешает проверить диск на бэд-блоки, это не трудно.
Существует 3 полезных программы которые помогут вам найти и восстановить
бэд-блоки в вашей файловой системе. Вы можете обнаружить бед-блоки с помощью
программы badblocks.
Синтакс:
badblocks -o bad.block.output.file /device/name number.of.blocks start block,
Вот для примера:
badblocks -o badblocks /dev/sda2 2024190 1
Проверит устройство /dev/sda2 которое имеет 2024190 блоков начиная с блока 1,
и выведет результат в файл с названием badblocks
Если вы не знаете сколько блоков на вашем диске, вы можете использовать вторую,
более удобную программу-dumpe2fs. Она скажет вам все о файловой системе на
определенном устройстве, включая общее кол-во блоков. Вот пример того что
она выведет:
Filesystem volume name:
Last mounted on:
Filesystem UUID: 8d42d04c-15f1-11d3-9a9c-0040053f15fc
Filesystem magic number: 0xEF53
Filesystem revision #: 0 (original)
Filesystem features: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 507904
Block count: 2024190
Reserved block count: 101209
Free blocks: 1161922
Free inodes: 485305
First block: 1
Block size: 1024
Fragment size: 1024
Blocks per group: 8192
Fragments per group: 8192
Inodes per group: 2048
Inode blocks per group: 256
Третья программа-fsck.ext2 флаг -l указывает из какого файла брать список
бэд-блоков для восстоновления.
------------------------------------------------------------------------
Автор: Larry Reckner [larryr@linux.com]
1999.08.03 - Увеличение скорости своп-диска.
Попробуйте расположить свой своп-диск ближе к началу вашего IDE диска.
Hачало жесткого диска физически расположено на внешней часи целиндра. Головка
чтения/зписи, в этом случае, cможет покрыть большую область за один оборот
диска.
Это значит что может быть записано/считано больше данных за один оборот.
У меня разница состовляет 3MB/сек в зависимости от местоположения
логического диска на IDE устройстве.
Тест:
hdparm -t
------------------------------------------------------------------------
Автор: Rowin Andruscavage
Перевод: Игорь Храповский. Igor Hrapovskii
E-mail: igor00@volgodonsk.cityline.ru
Приветствуються любые комментарии по поводу статьи, возможны неточности.
Вы можете использовать статью в любых Hе коммерческих целей.
Приветсвуеться размещение на сайтах и FAQ посвещенных Линуксу с указанием
Имени переводчика.