Re: Re: com php-src: Added an experemental ability to move PHP code pages (PHP TEXT segment) into HUGE pages. PHP should be configured and built with
--enable-huge-code-pages, OS should be configured to provide huge pages. It's possibl
| From: | Rasmus Lerdorf | Date: | Tue, 15 Sep 2015 08:24:22 +0000 |
| Subject: | Re: Re: com php-src: Added an experemental ability to move PHP code pages (PHP TEXT segment) into HUGE pages. PHP should be configured and built with --enable-huge-code-pages, OS should be configured to provide huge pages. It's possibl |
||
| References: | 1 2 3 4 5 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-88207@lists.php.net to get a copy of this message | ||
On 09/14/2015 11:58 PM, Dmitry Stogov wrote:
> On Tue, Sep 15, 2015 at 4:31 AM, Rasmus Lerdorf <rasmus@lerdorf.com
> <mailto:rasmus@lerdorf.com>> wrote:
> Redhat enables THP by default and has for a while, but I know lots of
> admins that disable this feature right away on production machines. I
> don't think it is default on Ubuntu, but at least they have hugepage
> tools to make it easy to configure. And from a quick look at Debnian
> (jessie) it wasn't obvious how to get hugepages working. I don't see a
> package for hugeadm offhand. The kernel supports it, obviously, but you
> need to take some steps to configure them.
>
>
> PHP prefers using regular Huge Pages and may fail back to THP
> (Transparent Huge Pages).
> So THP don't have to be enabled.
>
>
>
> Which means we also need to spend a bit of time documenting how to
> enable hugepages at the OS level for the various operating systems to go
> along with this feature.
>
>
> Right. Manual OS configuration is required. See
> https://wiki.debian.org/Hugepages#Enabling_HugeTlbPage
> Steps (3) and (4) are optional.
Yup. I did get it working here. Perhaps it would be a good idea to add a
row to the phpinfo() OpCache section indicating whether huge pages are
currently being used. It would make it easier to debug. I know you can
check /proc/meminfo directly, but it isn't obvious what exactly is using
the hugepages from that.
-Rasmus
Attachment: [application/pgp-signature] OpenPGP digital signature signature.asc
Attachment: [application/pgp-signature] OpenPGP digital signature signature.asc