Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
litespeed_wiki:cloudlinux:lsphp_criu_enable [2018/08/20 18:43]
Jackson Zhang [How to Enable LSPHP CRIU on CloudLinux]
litespeed_wiki:cloudlinux:lsphp_criu_enable [2019/10/15 18:41] (current)
Lisa Clarke [Enabling CRIU on CloudLinux + cPanel EA4 + LSWS]
Line 1: Line 1:
-====== ​How to Enable LSPHP CRIU on CloudLinux ======+====== ​Enabling ​CRIU on CloudLinux ​+ cPanel EA4 ======
  
-Checkpoint/​Restore In Userspace, or CRIU, is an open source project which dumps all of the information of a running process to disk and restores it at the point of the dump.  The LiteSpeed Enterprise Edition Web Server now supports CRIU for the CloudLinux/​Apache-specific ​implementation of the PHP processor. ​ This will improve the performance of LiteSpeed for transactions which are commonly used, and reduce the memory overhead ​on the server.+**IMPORTANT!! CRIU may cause stability issues! Enable CRIU AT YOUR OWN RISK!** 
 + 
 +Checkpoint/​Restore In Userspace, or CRIU, is an open source project which dumps all of the information of a running process to disk and restores it at the point of the dump.  The LiteSpeed Enterprise Edition Web Server now supports CRIU for the CloudLinux implementation of the PHP processor. ​ 
 + 
 +Howevergenerally, we don't recommend you enable CRIU unless you have a special requirement for it. CRIU uses significant server resources ​and may generate unusual errors while providing no performance benefits.  
 + 
 +**We have received quite a few reports that potential bugs on the CRIU module may cause web server ​stability issues. Please permanently disable CRIU, or enable CRIU AT YOUR OWN RISK**
  
 ===== Requirements ===== ===== Requirements =====
  
-  - CloudLinux System+  - CloudLinux System ​ 
 +  - ea-apache24-mod_lsapi 1.1 on cpanel EA4 (or mod_lsapi on cPanel EA3)  or above 
   - LiteSpeed Web Server 5.3 or above.   - LiteSpeed Web Server 5.3 or above.
    
Line 11: Line 18:
 ===== Installation ===== ===== Installation =====
  
-==== 1. Verify CRIU is enabled on your system ==== +==== Verify CRIU is enabled on your system ==== 
-Log into your Linux system. Check CRIU whether the service is running or not. \\+ 
 +Criu is installed with dependency to ea-apache24-mod_lsapi for cpanel EA4( or mod_lsapi for cpanel EA3) 1.1 and above package.  
 + 
 +If you have not installed it, you should: 
 + 
 +<​code>​yum install liblsapi liblsapi-devel</​code>​ 
 + 
 +<​code>​ 
 +============================================================================================================================================================================= 
 + ​Package ​                               Arch                          Version ​                                       Repository ​                                        ​Size 
 +============================================================================================================================================================================= 
 +Installing: ​                                                                                                                                                               
 + ​liblsapi ​                              ​x86_64 ​                       1.1-28.el7.cloudlinux ​                         cloudlinux-x86_64-server-7 ​                       180 k 
 + ​liblsapi-devel ​                        ​x86_64 ​                       1.1-28.el7.cloudlinux ​                         cloudlinux-x86_64-server-7 ​                        37 k 
 +Installing for dependencies: ​                                                                                                                                              
 + ​crit-lve ​                              ​x86_64 ​                       3.7-3.el7 ​                                     cloudlinux-x86_64-server-7 ​                       9.6 k 
 + ​criu-lve ​                              ​x86_64 ​                       3.7-3.el7 ​                                     cloudlinux-x86_64-server-7 ​                       439 k 
 + ​criu-lve-devel ​                        ​x86_64 ​                       3.7-3.el7 ​                                     cloudlinux-x86_64-server-7 ​                        11 k 
 + ​libnet ​                                ​x86_64 ​                       1.1.6-7.el7 ​                                   cloudlinux-x86_64-server-7 ​                        58 k 
 + ​protobuf-c ​                            ​x86_64 ​                       1.0.2-3.el7 ​                                   cloudlinux-x86_64-server-7 ​                        27 k 
 + ​protobuf-python ​                       x86_64 ​                       2.5.0-8.el7 ​                                   cloudlinux-x86_64-server-7 ​                       129 k 
 + ​python-criu-lve ​                       x86_64 ​                       3.7-3.el7 ​                                     cloudlinux-x86_64-server-7 ​                       136 k 
 + ​python-ipaddr ​                         noarch ​                       2.1.11-1.el7 ​                                  ​cloudlinux-x86_64-server-7 ​                        34 k 
 +                                                                                                                                                                           
 +Transaction Summary 
 +============================================================================================================================================================================= 
 +Install ​ 2 Packages (+8 Dependent packages) 
 +</​code>​ 
 + 
 +<​code>​yum install ea-apache24-mod_lsapi</​code>​ 
 + 
 +Check CRIU whether the service is running or not. \\ 
 + 
 +  ps -ef | grep criu 
 +  root      967641 ​      ​1 ​ 0 19:24 ?        00:00:00 /​usr/​sbin/​criu service -v4 -o /​var/​log/​criu-service.log --address /​var/​run/​criu/​criu_service.socket 
 +  root      967680 ​ 965818 ​ 0 19:24 pts/1    00:00:00 grep --color=auto criu 
 + 
 +   
 If not, enable by following method: If not, enable by following method:
 <​code>​ <​code>​
-systemctl enable criu+systemctl enable criu 
 systemctl start criu systemctl start criu
 systemctl status criu systemctl status criu
 </​code>​ </​code>​
 +
 +
 Output should be ''​Active:​ active (running)''​. Output should be ''​Active:​ active (running)''​.
  
-====2. Check CRIU parameters====+  [root@globalsupport ~]# systemctl status criu 
 +  ● criu.service - Checkpoint Restore in Userspace daemon 
 +   ​Loaded:​ loaded (/​usr/​lib/​systemd/​system/​criu.service;​ disabled; vendor preset: disabled) 
 +   ​Active:​ active (running) since Mon 2018-08-20 19:24:25 UTC; 4min 23s ago 
 +  Process: 967640 ExecStartPre=/bin/mkdir -p /​var/​run/​criu (code=exited, status=0/​SUCCESS) 
 +  Main PID: 967641 (criu) 
 +   ​CGroup:​ /​system.slice/​criu.service 
 +           ​└─967641 /​usr/​sbin/​criu service -v4 -o /​var/​log/​criu-service.log --address /​var/​run/​criu/​criu_service.socket 
 + 
 +  Aug 20 19:24:25 globalsupport.litespeedtech.com systemd[1]: Starting Checkpoint Restore in Userspace daemon... 
 +  Aug 20 19:24:25 globalsupport.litespeedtech.com systemd[1]: Started Checkpoint Restore in Userspace daemon. 
 +  Aug 20 19:24:25 globalsupport.litespeedtech.com criu[967641]:​ Warn  (criu/​kerndat.c:​660):​ Can't load /​run/​criu.kdat 
 + 
 +====CRIU Master Switch on LSWS ==== 
 +CRIU is disabled by defaultTo enable it, you can go to LSWS Web Admin Console -> Server -> PHP -> PHP Global Configuration -> Enable CRIU( Again, we recommend you keep CRIU off unless you have some speical testing need only). 
 +{{:​litespeed_wiki:​cloudlinux:​lsws-master-criu-switch.png?​800|}} 
 + 
 +==== Check CRIU parameters====
 In CloudLinux, LSPHP have been compiled with CRIU already. Please check [[https://​docs.cloudlinux.com/​index.html?​criu_support.html|here]] ​  \\ In CloudLinux, LSPHP have been compiled with CRIU already. Please check [[https://​docs.cloudlinux.com/​index.html?​criu_support.html|here]] ​  \\
 Use ''​phpinfo()''​ with parameter ''​-DWITH_CRIU''​ to check the LSPHP build. Use ''​phpinfo()''​ with parameter ''​-DWITH_CRIU''​ to check the LSPHP build.
Line 27: Line 91:
  
  
-====3. Configure the PHP environment====+====Configure the PHP environment====
 Add the following necessary parameter to the PHPx.x **External App > Environment** \\ Add the following necessary parameter to the PHPx.x **External App > Environment** \\
 <​code>​ <​code>​
  • Admin
  • Last modified: 2018/08/20 18:43
  • by Jackson Zhang