8 винтов. Памяти 4Гб, все как нада потюнил:
vfs.zfs.prefetch_disable="1"
vfs.zfs.arc_max="209715200"
vm.kmem_size_max="1G"
vm.kmem_size="1G"
vfs.zfs.zil_disable="1"
Ядро пересобрал с опцией KVA_PAGES=512. Вроде все нормально, все стабильно, но при записи (dd) всего 40Мбайт/сек. При чтении около 160-200Мбайт/сек. Ну чтение еще куда ни шло, но запись :( Это всего 6Мбайт/сек на винт. Смотрел некоторые тесты, там у всех запись 120-150Мбайт/сек на 6 винтах, про чтение я вообще молчу, токо в тестах везде amd64, я же пока юзаю i386. Вот думаю попробовать amd64, потому как больше ничего в голову не приходит.pool: data
state: ONLINE
scrub: scrub completed with 0 errors on Thu Apr 17 10:29:56 2008
config:NAME STATE READ WRITE CKSUM
data ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ad6 ONLINE 0 0 0
ad8 ONLINE 0 0 0
ad10 ONLINE 0 0 0
ad4 ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ad12 ONLINE 0 0 0
ad14 ONLINE 0 0 0
ad16 ONLINE 0 0 0
ad20 ONLINE 0 0 0
spares
ad26 AVAILerrors: No known data errors
>8 винтов. Памяти 4Гб, все как нада потюнил:
>vfs.zfs.prefetch_disable="1"
>vfs.zfs.arc_max="209715200"
>vm.kmem_size_max="1G"
>vm.kmem_size="1G"
>vfs.zfs.zil_disable="1"
>Ядро пересобрал с опцией KVA_PAGES=512. Вроде все нормально, все стабильно, но при
>записи (dd) всего 40Мбайт/сек. При чтении около 160-200Мбайт/сек. Ну чтение ещеИзмени в loader.conf и проведи еще один тест. Мной лично было замечено что установка
vm.kmem_size="1G" на платформах i386 производила к потере производительности до 10 раз.
Собрался писать багрепорт но пока собираю инфу. Поставь значения которые я даю ниже и проведи тесты. На моих серверах при таких значениях производительность файловой системы в норме.
vm.kmem_size=671088640
vm.kmem_size_max=671088640
vfs.zfs.arc_max="448M"
vfs.zfs.cache_flush_disable=1
>vm.kmem_size=671088640
>vm.kmem_size_max=671088640
>vfs.zfs.arc_max="448M"
>vfs.zfs.cache_flush_disable=1ОК. Попробую. Правда пока перегружать не могу. Токо через пару дней выйдет проверить. Спасибо за подсказку.
>vm.kmem_size=671088640
>vm.kmem_size_max=671088640
>vfs.zfs.arc_max="448M"
>vfs.zfs.cache_flush_disable=1Таки да, достаточно сделать вот так:
vm.kmem_size_max="999M"
vm.kmem_size="999M"как все сразу начинает летать - скорость на запись 140-150Мб/сек.
Если так:
vm.kmem_size_max="1G"
vm.kmem_size="1G"
сразу в 4 раза падает на записи.
>[оверквотинг удален]
>Таки да, достаточно сделать вот так:
>vm.kmem_size_max="999M"
>vm.kmem_size="999M"
>
>как все сразу начинает летать - скорость на запись 140-150Мб/сек.
>
>Если так:
>vm.kmem_size_max="1G"
>vm.kmem_size="1G"
>сразу в 4 раза падает на записи.Только есть один нюанс, если машина десктоп(i386) и c драйвером nVidia то использовать значение больше 671088640 не выйдет. Нужно включать KVA_PAGES=512,
а nVidia драйвера в таком режиме не работают.На не десктопах i386 c 2G памяти и KVA_PAGES=512 все нормально. Но с поправкой описанной выше. Можно ставить 999М. Спасибо что сказал про 999М, я как то не додумался.
> Только есть один нюанс, если машина десктоп(i386) и c драйвером nVidia
>то использовать значение больше 671088640 не выйдет. Нужно включать KVA_PAGES=512,
>а nVidia драйвера в таком режиме не работают.У меня десктоп. Заметил проблемы с nvidia только когда уменьшил vm.kmem_size (vm.kmem_size_max). При значении в 1G nvidia работала без проблем. При уменшении vm.kmem_size почти сразу возникают проблемы с оверлеем, гаснет экран.
>> Только есть один нюанс, если машина десктоп(i386) и c драйвером nVidia
>>то использовать значение больше 671088640 не выйдет. Нужно включать KVA_PAGES=512,
>>а nVidia драйвера в таком режиме не работают.
>
>У меня десктоп. Заметил проблемы с nvidia только когда уменьшил vm.kmem_size (vm.kmem_size_max).
>При значении в 1G nvidia работала без проблем. При уменшении vm.kmem_size
>почти сразу возникают проблемы с оверлеем, гаснет экран.Я никак не могу добиться нормальной работы Nvidia с большим vm.kmem_size...
Очень удивлен что Nvidia драйвера у тебя поднимаются.
У тебя я так понял в варианте ниже nvidia работает?
KVA_PAGES=512
vm.kmem_size_мах="1G"
Кстати, какая у тебя карта и на каком интерфейсе сидит?
>KVA_PAGES=512
>vm.kmem_size_мах="1G"Да, так работает. Но больше 8 дней uptim-а я не проверял, потому как постоянно менял чего-нить и доводилось перезапускать. Я вот теперь бюсь над тем, как ее запустить при vm.kmem_size_мах меньше 1G, потому как скорость zfs не устраивает.
nvidia-driver-169.12 NVidia graphics card binary drivers for hardware OpenGL ren
Карта на Asus PCI-E 16x:
nvidia0@pci0:3:0:0: class=0x030000 card=0x824e1043 chip=0x042110de rev=0xa1 hdr=0x00
vendor = 'Nvidia Corp'
device = 'G86 GeForce 8500 GT'
class = display
subclass = VGA
Вот нашел пост, где у кого-то тоже работает:
http://www.nvnews.net/vbulletin/showthread.php?t=107500
Все мои длительные эксперименты закончились на текущий момент со ледующими результатами:
Это только параметры касающиеся ZFS и nvidia.-----------------------------------------------------------------------
FreeBSD 7.0-STABLE #0: Fri Apr 25 02:13:02 EEST 2008
root@datacenter.technica-03.local:/usr/obj/usr/src/sys/SMP-DATACENTER
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Core(TM)2 CPU 4400 @ 2.00GHz (2006.26-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x6f2 Stepping = 2
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
Features2=0xe39d<SSE3,RSVD2,MON,DS_CPL,EST,TM2,SSSE3,CX16,xTPR,PDCM>
AMD Features=0x20100000<NX,LM>
AMD Features2=0x1<LAHF>
Cores per package: 2
real memory = 2147024896 (2047 MB)
avail memory = 2079244288 (1982 MB)
ACPI APIC Table: <MSTEST OEMAPIC >
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
------------------------------------------------nvidia0@pci0:1:0:0: class=0x030000 card=0x82131043 chip=0x039310de rev=0xa1 hdr=0x00
vendor = 'Nvidia Corp'
device = 'GeForce 7300 GT'
class = display
subclass = VGA
--- kernel config
options KSTACK_PAGES=8
options KVA_PAGES=384
--- loader.confnvidia_load="YES"
agp_load="NO"
hw.nvidia.registry.NvAGP="0"zfs_load="YES"
vfs.root.mountfrom="zfs:roottank/root"
vfs.zfs.prefetch_disable=1
vfs.zfs.zil_disable=0
vfs.zfs.cache_flush_disable=1
vm.kmem_size=671088640
vm.kmem_size_max=671088640
vfs.zfs.arc_max="448M"
--- sysctl.confkern.maxvnodes=400000
-------------------------------------------------Только с этими параметрами я смог добиться устойчивой работы, аптайм больше двух недель, и приемлимой работы файловой системы 718-753Мб/сек, и отличной работы драйверов Nvidia 169.12.
Надейсь на то что Nvidia сделает драйвера на amd64... Ну а zfs немного пофиксят со временем. В данном случае на этом десктопе великолепно работать. Подождем пока, будет лучьше. :)
Да вот еще забыл:
--- harddisk
ad10: 114473MB <Seagate ST3120811AS 3.AAE> at ata5-master SATA300
ad11: 152627MB <WDC WD1600JD-00GBB0 02.05D02> at ata5-slave SATA150
ad12: 114473MB <Seagate ST3120811AS 3.AAE> at ata6-master SATA300
ad13: 76319MB <Seagate ST380811AS 3.AAE> at ata6-slave SATA300--- zfs
# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
datatank 74,5G 1,20G 73,3G 1% ONLINE -
maintank 222G 62,3G 160G 28% ONLINE -
roottank 140G 5,75G 134G 4% ONLINE -# zfs list
NAME USED AVAIL REFER MOUNTPOINT
datatank 1,20G 72,1G 18K /datatank
datatank/var 1,20G 72,1G 111M /var
datatank/var@var.190408 624K - 11,0M -
datatank/var/db 850M 72,1G 723M /var/db
datatank/var/db@var.190408 127M - 723M -
datatank/var/log 210M 72,1G 205M /var/log
datatank/var/log@var.190408 4,63M - 198M -
datatank/var/tmp 54,4M 72,1G 46,9M /var/tmp
datatank/var/tmp@var.190408 7,59M - 38,8M -
maintank 62,3G 156G 18K /maintank
maintank/usr 62,3G 156G 8,49G /usr
maintank/usr@usr.190408 140M - 8,39G -
maintank/usr/home 12,5G 156G 155M /usr/home
maintank/usr/home@usr.190408 0 - 155M -
maintank/usr/home/andy.lavr 12,4G 156G 12,3G /usr/home/andy.lavr
maintank/usr/home/andy.lavr@usr.190408 70,1M - 8,28G -
maintank/usr/home/bamston 93K 156G 93K /usr/home/bamston
maintank/usr/home/bamston@usr.190408 0 - 93K -
maintank/usr/local 26,6G 156G 24,9G /usr/local
maintank/usr/local@usr.190408 1,77G - 24,9G -
maintank/usr/obj 129M 156G 129M /usr/obj
maintank/usr/obj@usr.190408 17K - 18K -
maintank/usr/ports 13,4G 156G 3,50G /usr/ports
maintank/usr/ports@usr.190408 3,96G - 4,54G -
maintank/usr/ports/distfiles 5,98G 156G 5,98G /usr/ports/distfiles
maintank/usr/ports/distfiles@usr.190408 227K - 5,84G -
maintank/usr/src 963M 156G 481M /usr/src
maintank/usr/src@usr.190408 481M - 481M -
roottank 5,75G 132G 18K none
roottank/root 5,75G 132G 5,75G legacy
roottank/root@root.190408 1,71M - 4,37G -
-----------------------
На три пула разбил специально для тестов.
Кароче, после длительных экспериментов так и неудалось заставить нормально работать ZFS вместе с Nvidia на рабоей станции.
При KVA_PAGES>320 начинаются проблемы с видео.
При KVA_PAGES<320 начинаются проблемы ZFS kernel panic.
При KVA_PAGES=320 и увеличении vm.kmem_size_max больше 640Мб начинаются проблемы с видео.
Пробовал на Nvidia 8500GT и 6600GT.
Так что даная связка пока неработоспособна.
Сейчас тестирую на Radeon x1650.
Такие вот дела.
на Radeon x1650 при вот таких вот настройках пашет как пить дать без проблем. Да при других настройках пахать будет.
vfs.zfs.prefetch_disable="1"
vfs.zfs.arc_max="448М"
vm.kmem_size_max="999М"
vm.kmem_size="999М"
vfs.zfs.zil_disable="1"
Ядро пересобрал с опцией KVA_PAGES=512.Вот уж не думал, что пересяду на ATI. Жизнь заставила :) Вот тока в игры не поигратся, ну да и хрен с ними :)
> Все мои длительные эксперименты закончились на текущий момент со ледующими результатами:Благодарствую, полезная инфа. Поковыряюсь у себя и тоже выложу результат.
>Благодарствую, полезная инфа. Поковыряюсь у себя и тоже выложу результат.Не фарт.
>8 винтов. Памяти 4Гб, все как нада потюнил:Покажите uname -a
>Покажите uname -aFreeBSD lol 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Wed Apr 16 21:52:49 EEST 2008 lol:/usr/src/sys/i386/compile/MYKERNEL i386
Кто-нибудь подскажите что я делаю не так
очень медленно работает как на чтение, так и на записьFreeBSD fsrv 7.0-RELEASE-p3 FreeBSD 7.0-RELEASE-p3 #2: Sat Nov 15 14:07:47 UZT 2008 root@fsrv:/usr/obj/usr/src/sys/FSRV amd64
cpu HAMMER
ident FSRV# To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbolsoptions SCHED_ULE
options PREEMPTION # Enable kernel thread preemption
options IPI_PREEMPTION
options INET # InterNETworking
options INET6 # IPv6 communications protocols
options SCTP # Stream Control Transmission Protocol
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
options UFS_DIRHASH # Improve performance on big directories
options UFS_GJOURNAL # Enable gjournal-based UFS journaling
options MD_ROOT # MD is a potential root device
options NFSCLIENT # Network Filesystem Client
options NFSSERVER # Network Filesystem Server
options NFS_ROOT # NFS usable as /, requires NFSCLIENT
options NTFS # NT File System
options MSDOSFS # MSDOS Filesystem
options CD9660 # ISO 9660 Filesystem
options PROCFS # Process filesystem (requires PSEUDOFS)
options PSEUDOFS # Pseudo-filesystem framework
options GEOM_PART_GPT # GUID Partition Tables.
options GEOM_LABEL # Provides labelization
options COMPAT_43TTY # BSD 4.3 TTY compat [KEEP THIS!]
options COMPAT_IA32 # Compatible with i386 binaries
options COMPAT_FREEBSD4 # Compatible with FreeBSD4
options COMPAT_FREEBSD5 # Compatible with FreeBSD5
options COMPAT_FREEBSD6 # Compatible with FreeBSD6
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
options KTRACE # ktrace(1) support
options SYSVSHM # SYSV-style shared memory
options SYSVMSG # SYSV-style message queues
options SYSVSEM # SYSV-style semaphores
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
options ADAPTIVE_GIANT # Giant mutex is adaptive.
options STOP_NMI # Stop CPUS using NMI instead of IPI
options AUDIT # Security event auditingoptions SMP # Symmetric MultiProcessor Kernel
maxusers 1024
device mptable
device vlan
device pf
device pflog
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_PRIQ
options ALTQ_NOPCCoptions DEVICE_POLLING
options HZ=1000# less /etc/sysctl.conf
security.bsd.see_other_uids=0
security.bsd.see_other_gids=0net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1net.inet.ip.intr_queue_maxlen=5000
net.inet.tcp.rfc1323=1kern.polling.enable=1
kern.polling.user_frac=50kern.maxvnodes=400000
kern.maxfiles=65536
kern.ipc.somaxconn=4096net.inet.tcp.delayed_ack=0
net.local.stream.recvspace=65536
net.local.stream.sendspace=65536
net.inet.tcp.sendspace=65536
net.inet.tcp.recvspace=65536
net.inet.ip.portrange.hilast=65535
net.inet.ip.portrange.hifirst=10000
net.inet.ip.portrange.last=65535
net.inet.ip.portrange.first=10000vfs.hirunningspace=10485760
# less /boot/loader.conf
acpi_load="NO"
autoboot_delay="5"
loader_logo="beastie"
accf_data_load="YES"
accf_http_load="YES"kern.ipc.nmbclusters=262144
net.inet.tcp.syncache.hashsize=1024
net.inet.tcp.syncache.bucketlimit=100
net.inet.tcp.tcbhashsize=4096zfs_load="YES"
vm.kmem_size_max="999M"
vm.kmem_size="999M"
vfs.zfs.arc_max="448M"
vfs.zfs.prefetch_disable=1
vfs.zfs.zil_disable=1
vfs.zfs.cache_flush_disable=1# zpool status
pool: datapool
state: ONLINE
scrub: none requested
config:NAME STATE READ WRITE CKSUM
storage ONLINE 0 0 0
raidz1 ONLINE 0 0 0
amrd0 ONLINE 0 0 0
amrd1 ONLINE 0 0 0
amrd2 ONLINE 0 0 0
amrd3 ONLINE 0 0 0
amrd4 ONLINE 0 0 0
amrd5 ONLINE 0 0 0
amrd6 ONLINE 0 0 0
raidz1 ONLINE 0 0 0
amrd7 ONLINE 0 0 0
amrd10 ONLINE 0 0 0
amrd11 ONLINE 0 0 0
amrd12 ONLINE 0 0 0
amrd13 ONLINE 0 0 0
amrd14 ONLINE 0 0 0
amrd15 ONLINE 0 0 0errors: No known data errors
# zpool iostat 3
capacity operations bandwidth
pool used avail read write read write
---------- ----- ----- ----- ----- ----- -----
datapool 6.01T 3.49T 758 14 80.3M 239K
---------- ----- ----- ----- ----- ----- -----
datapool 6.01T 3.49T 834 0 83.3M 0
---------- ----- ----- ----- ----- ----- -----
datapool 6.01T 3.49T 976 0 102M 0
---------- ----- ----- ----- ----- ----- -----
datapool 6.01T 3.49T 875 0 91.8M 0
---------- ----- ----- ----- ----- ----- -----
datapool 6.01T 3.49T 634 0 72.4M 0
---------- ----- ----- ----- ----- ----- -----
datapool 6.01T 3.49T 840 0 85.9M 0
---------- ----- ----- ----- ----- ----- -----
datapool 6.01T 3.49T 976 0 104M 0
---------- ----- ----- ----- ----- ----- -----
datapool 6.01T 3.49T 738 0 85.5M 0
---------- ----- ----- ----- ----- ----- -----
datapool 6.01T 3.49T 886 0 94.7M 0
---------- ----- ----- ----- ----- ----- -----
datapool 6.01T 3.49T 762 0 86.4M 0
---------- ----- ----- ----- ----- ----- -----
datapool 6.01T 3.49T 784 0 88.9M 0
---------- ----- ----- ----- ----- ----- -----
datapool 6.01T 3.49T 554 0 61.1M 0
---------- ----- ----- ----- ----- ----- -----
datapool 6.01T 3.49T 771 0 77.5M 0
---------- ----- ----- ----- ----- ----- -----
datapool 6.01T 3.49T 883 0 90.7M 0
---------- ----- ----- ----- ----- ----- -----
datapool 6.01T 3.49T 712 0 74.7M 0
---------- ----- ----- ----- ----- ----- -----
>Кто-нибудь подскажите что я делаю не так
>очень медленно работает как на чтение, так и на запись
>
>FreeBSD fsrv 7.0-RELEASE-p3 FreeBSD 7.0-RELEASE-p3 #2: Sat Nov 15 14:07:47 UZT 2008
> root@fsrv:/usr/obj/usr/src/sys/FSRV amd64
>http://wiki.freebsd.org/ZFSTuningGuide
http://citkit.ru/articles/462/
http://people.freebsd.org/~pjd/patches/