Имеем веб-проект с большой посещаемостью. На проекте наличиствует большое кол-во картинок.Вопрос следующий. Есть железка на SATA, хочется оптимизировать систему так, что-бы она жрала всю доступную оперативную память под файловый кэшь и минимально обращалась к диску. Картинки меняются редко, вернее вообще не меняются. Запись происходит крайне редко.
Описание машины
CPU: Intel(R) Xeon(R) CPU X3450 @ 2.67GHz (2666.65-MHz K8-class CPU)
Origin = "GenuineIntel" Id = 0x106e5 Family = 6 Model = 1e Stepping = 5
real memory = 17179869184 (16384 MB)
avail memory = 16470654976 (15707 MB)FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs
FreeBSD/SMP: 1 package(s) x 4 core(s) x 2 SMT threads
ad4: 953869MB <Seagate ST31000524NS SN11> at ata2-master UDMA100 SATA 3Gb/sНастройки системы
Увеличен maxfiles и maxfilesperproc
> sysctl -a | grep files
kern.maxfiles: 1600000
kern.maxfilesperproc: 1500000Патиция с картинка смонтирована с noatime
> cat /etc/fstab# Device Mountpoint FStype Options Dump Pass#
/dev/ad4s1b none swap sw 0 0
/dev/ad4s1a / ufs rw 1 1
/dev/ad4s1e /usr ufs rw,noatime 2 2
/dev/ad4s1d /var ufs rw 2 2
/dev/cd0 /cdrom cd9660 ro,noauto 0 0
В nginx включено кэширование дескрипторов
open_file_cache max=10000;
open_file_cache_valid 360s;
open_file_cache_min_uses 2;
open_file_cache_errors on;access логи выключены
Текущие показатели системы> sysctl -a | grep "kern.openfiles"
kern.openfiles: 40623
> iostat -dx 1
extended device statistics
device r/s w/s kr/s kw/s wait svc_t %b
ad4 55.9 2.6 754.6 69.9 0 12.9 38
extended device statistics
device r/s w/s kr/s kw/s wait svc_t %b
ad4 33.0 0.0 401.5 0.0 0 7.7 25
extended device statistics
device r/s w/s kr/s kw/s wait svc_t %b
ad4 51.9 0.0 452.9 0.0 0 6.5 34
extended device statistics
device r/s w/s kr/s kw/s wait svc_t %b
ad4 64.8 5.0 1003.0 57.8 1 5.8 40
extended device statistics
device r/s w/s kr/s kw/s wait svc_t %b
ad4 34.9 0.0 400.7 0.0 1 7.5 26
extended device statistics
device r/s w/s kr/s kw/s wait svc_t %b
ad4 49.8 0.0 880.7 0.0 0 7.0 33
extended device statistics
device r/s w/s kr/s kw/s wait svc_t %b
ad4 30.9 1.0 577.9 2.0 0 6.9 21
extended device statistics
device r/s w/s kr/s kw/s wait svc_t %b
ad4 48.9 0.0 564.3 0.0 0 8.6 37
extended device statistics
device r/s w/s kr/s kw/s wait svc_t %b
ad4 25.9 0.0 404.8 0.0 0 5.7 15
last pid: 19320; load averages: 0.16, 0.21, 0.18 up 0+02:25:47 15:23:55
163 processes: 2 running, 161 sleeping
CPU: 0.1% user, 0.0% nice, 1.0% system, 0.0% interrupt, 98.9% idle
Mem: 139M Active, 4209M Inact, 1623M Wired, 216K Cache, 1285M Buf, 9835M Free
Swap: 8192M Total, 8192M Free
Это не очень долгий uptime, но лучшее что я видел это 6000M Inact.Как заставить сожрать остальную память?
он сам сожрет, когда это ему понадобится. сколько весит контент, какая фс?
> он сам сожрет, когда это ему понадобится. сколько весит контент, какая фс?Я привёл выше fstab - ufs.
Контент весит 57 Gb.
Что-бы FreeBSD сожрал всю память, нужно увеличть значение kern.maxvnodes.Что-бы не было проблем с nginx open_file_cache, нужно задать worker_rlimit_nofile или добавить в стартовый скрипт nginx ulimit -n `sysctl -n kern.maxfilesperproc`