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

Linux tmpfs не влияет на производительность!

Чтобы ускорить запуск и использование JBoss, я скопировал содержимое своего <jboss-home> Директор достаточно большой tmpfs "диск". При этом я ожидал значительного ускорения.

Однако, к своему удивлению, я увидел ни капли улучшение - ни во время запуска, ни в последующем использовании приложения.

Как я создал tmpfs?

$ mkdir /usr/local/tmpfs-disk
$ mount -t tmpfs -o size=2048m tmpfs /usr/local/tmpfs-disk
$
$ cd /usr/local
$ ln -s tmpfs-disk foo
$ ls -ld foo
lrwxrwxrwx 1 root root 9 Jul 21 00:09 foo -> tmpfs-disk
$
$ cp -a <jboss-home>/* foo/

Проверка

$ mount
   ...
tmpfs on /usr/local/tmpfs-disk type tmpfs (rw,size=2048m)
$ df -h
Filesystem            Size  Used Avail Use% Mounted on
   ...
tmpfs                 2.0G  1.3G  785M  62% /usr/local/tmpfs-disk

Я использую Fedora 12.

Что мне здесь не хватает?

TIA ...

Либо вы на самом деле не используете tmpfs (возможно, потому, что вы на самом деле не запускаете копию своего приложения, которую вы скопировали на ramdisk, но есть другие возможности, которые я позволю вам изучить), либо ваше узкое место в производительности не было диск в первую очередь.

Современные операционные системы на самом деле неплохо кэшируют файлы в ОЗУ. Лучший способ убедиться - это принудительно очистить кеш (из другого переполнения стека: sync && echo 1> / proc / sys / vm / drop_caches), и тогда запуск (и действительно только запуск) будет быстрее.

Попробуйте проверить с помощью vmstat, выгружается ли ваша память на диск.

Если это так, то вы можете попробовать настроить значение vm.swappiness ядра Fedora. По умолчанию в RHEL установлено 60. Попробуйте изменить его на ноль.

Этот параметр ядра определяет, насколько активно страницы памяти выгружаются на диск.