Linux systems perform well under heavy load, but in some cases, the performance of the system may not be optimal. At this time, we can improve the performance of the system by optimizing the parameters of the Linux system. The Linux system has a large number of parameters, and different parameters have different effects on the system, so the administrator needs certain experience and skills. In this article, we will introduce how to optimize the performance of Linux systems by adjusting kernel parameters and system configuration files.
Iptables related
If not necessary, turn off or uninstall the iptables firewall and prevent the kernel from loading the iptables module. These modules can affect concurrency performance.
Limit on the maximum number of open files in a single process
General distributions limit a single process to a maximum of 1024 files that can be opened, which is far from meeting high concurrency requirements. The adjustment process is as follows:
Type at the # prompt:
# ulimit -n 65535
Set the maximum number of files that can be opened by a single process started by root to 65535. If the system echoes something like "Operationnotpermitted", it means that the above limit modification failed. In fact, the value specified in exceeds the Linux system's soft limit or hard limit on the number of files opened by the user. Therefore, it is necessary to modify the soft and hard limits of the Linux system on the number of open files for users.
The first step is to modify the limits.conf file and add:
# vim /etc/security/limits.conf * soft nofile 65536 * hard nofile 65536
The '*' sign indicates modifying the limits for all users; soft or hard specifies whether to modify the soft limit or the hard limit; 65536 specifies the new limit value that you want to modify, that is, the maximum number of open files (please pay attention to the soft limit The value must be less than or equal to the hard limit). Save the file after making changes.
The second step is to modify the /etc/pam.d/login file and add the following lines to the file:
# vim /etc/pam.d/login
sessionrequired /lib/security/pam_limits.so
This tells Linux that after the user completes the system login, the pam_limits.so module should be called to set the system's maximum limit on the number of various resources that the user can use (including the limit on the maximum number of files that the user can open), and the pam_limits.so module The configuration will be read from the /etc/security/limits.conf file to set these limit values. Save this file after modification.
The third step is to check the Linux system-level limit on the maximum number of open files, use the following command:
# cat/proc/sys/fs/file-max 32568
This shows that this Linux system allows a maximum of 32568 files to be opened at the same time (that is, including the total number of files opened by all users), which is a Linux system-level hard limit. All user-level limits on the number of open files should not exceed this value. Usually this system-level hard limit is an excellent maximum limit on the number of files opened at the same time calculated based on the system hardware resources when the Linux system starts. If there is no special need, this limit should not be modified unless you want to set a limit on the number of open files at the user level. A value that exceeds this limit. The way to modify this hard limit is to modify fs.file-max= 131072
in the /etc/sysctl.conf file.This is to force Linux to set the system-level hard limit on the number of open files to 131072 after the startup is completed. Save this file after modification.
After completing the above steps, restart the system. Generally, you can set the maximum number of files that the Linux system allows a single process of a specified user to open at the same time to a specified value. If after restarting, use the ulimit-n command to check that the limit on the number of files a user can open is still lower than the maximum value set in the above steps, this may be because the ulimit-n command has been used in the user login script /etc/profile to limit the number of files that the user can open at the same time. The number of files is limited. Because when you modify the system's limit on the maximum number of files that a user can open at the same time through ulimit-n, the newly modified value can only be less than or equal to the value set by ulimit-n last time. Therefore, it is impossible to use this command to increase the limit value. of. Therefore, if the above problem exists, you can only open the /etc/profile script file and check whether ulimit-n is used to limit the maximum number of files that the user can open at the same time. If found, delete this line of command. Or change the value set to a suitable value, then save the file, and the user can log out and log in again to the system.
Through the above steps, the system limit on the number of open files will be lifted for the communication handler that supports high-concurrency TCP connection processing.
Through the introduction of this article, we have learned about some commonly used parameter adjustment methods in Linux systems, including modifying kernel parameters and system configuration files. Through these methods, we can optimize the performance of the system's network, file system, memory, etc. In practical applications, administrators can flexibly adjust system parameters according to their own needs and scenarios to improve system operating efficiency. In the process of maintaining Linux systems, optimizing parameters is an essential task. It can help us better utilize the potential of the system and improve the reliability and stability of the system.
The above is the detailed content of How to optimize Linux system parameters to improve performance?. For more information, please follow other related articles on the PHP Chinese website!