Титла: eAccelerator: shmmax should be at least 2MBPHP Публикувано от: theshit в May 09, 2014, 23:13 Здравейте, имам следния проблем с php eAccelerator под NetBSD. Apache не ще да стартира. Apache Error Log:
Цитат eAccelerator: shmmax should be at least 2MBPHP Warning: [eAccelerator] Can not create shared memory area in Unknown on line 0 Цитат [root@nt001]# uname -a Цитат [root@nt001]# php -v Преди време имах същия проблем, бях намерил решение и го направих по тоя ($2) начин, но вече не мога, защото не го компилирам от порт колекция, а направо го инсталирам с pkgin (като apt-get, yum). Някакви идеи ??? :o Титла: Re: eAccelerator: shmmax should be at least 2MBPHP Публикувано от: neter в May 10, 2014, 00:00 Пробвай да зададеш стойността на kern.ipc.shmmax със sysctl
Цитат sysctl -w kern.ipc.shmmax=БАЙТИАко не ти позволи, задай стойността през kern.ipc.shmmaxpgs пак със sysctl Цитат sysctl -w kern.ipc.shmmaxpgs=БРОЙИмай предвид, че, тъй като PAGE_SIZE по подразбиране е 4096 байта, то ако искаш да зададеш kern.ipc.shmmax да е с размер 2МБ, то за kern.ipc.shmmaxpgs трябва да зададеш 512 Цитат 2 * 1024 * 1024 / 4096 = 512Ако се получи, впиши крайните стойности в /etc/sysctl.conf, за да се прилагат тези стойности и при следващите зареждания на системата. Титла: Re: eAccelerator: shmmax should be at least 2MBPHP Публикувано от: theshit в May 10, 2014, 10:28 Цитат [root@nt001]# sysctl kern.ipc.shmmaxpgs С kern.ipc.shmmaxpgs стана, благодаря :) Няма да забравя да го сетна в /etc/sysctl.conf за да се изпълнява при boot на машината ;) # ааа още нещо, не те разбрах точно, какво искаше да кажеш. Има някакви зависимости между тия стойности ли ? В смисъл: kern.ipc.shmmaxpgs (в MB) * 1024 * 1024 / 4096 = kern.ipc.shmmaxpgs (в MB) ? Или казано по по-лесния начин kern.ipc.shmmaxpgs / 4096 = kern.ipc.shmmaxpgs Щото в случая даже като гледам е точно така: kern.ipc.shmmax = 8589934592 kern.ipc.shmmaxpgs = 2097152 Титла: Re: eAccelerator: shmmax should be at least 2MBPHP Публикувано от: neter в May 10, 2014, 14:26 Има някакви зависимости между тия стойности ли ?Да. Зависимостта между kern.ipc.shmmaxpgs и kern.ipc.shmmax е същата, както съответно между броя на корите за яйца и броя на яйцата, които можеш да имаш общо в тях. В случая по подразбиране една кора за яйца побира 4096 яйца, така че, ако искаш да носиш 2097152 яйца ще ти трябват 512 кори, и съответно, ако имаш 512 кутии ще можеш да носиш 2097152 яйца :) 1 яйце е 1 байт споделена памет, а 1 кора за яйца е 1 страница (page) от тази памет. Малко са ти объркани интерпретациите на формулата. Правилните са: Цитат kern.ipc.shmmax (в MB) * 1024 * 1024 / PAGE_SIZE = kern.ipc.shmmaxpgs (в брой)където PAGE_SIZE по подразбиране е 4096 байта. |