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
Next revision Both sides next revision
litespeed_wiki:cloudlinux:lsphp_criu_enable [2018/08/20 18:45]
Jackson Zhang [How to Enable LSPHP CRIU on CloudLinux]
litespeed_wiki:cloudlinux:lsphp_criu_enable [2019/10/15 16:08]
Jackson Zhang [How to Enable CRIU on CloudLinux + cPanel EA4 + LSWS (CRIU may cause stablitity issue and enable CRIU AT YOUR OWN RISK!)]
Line 1: Line 1:
-====== How to Enable ​LSPHP CRIU on CloudLinux ======+====== How to Enable CRIU on CloudLinux ​+ cPanel EA4 + LSWS (CRIU may cause stablitity issue and 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. ​ This will improve the performance of LiteSpeed for transactions which are commonly used, and reduce the memory overhead ​on the server.+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 any special needs since CRIU will use much more server resources ​and may generate different kinds of wired errors while no performance benefits. **We received quite a few reports that potential bugs on CRIU module may cause web server ​stability issue hence please disable CRIU all the time 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 14:
 ===== 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 87:
  
  
-====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: 2019/10/15 18:41
  • by Lisa Clarke