首页 > 系统相关 >centos7 EOL大限已到,你会不会还不知道如何优化吧?

centos7 EOL大限已到,你会不会还不知道如何优化吧?

时间:2024-09-19 16:19:47浏览次数:11  
标签:大限 tcp EOL centos7 params ipv4 net os append

背景

Linux参数优化是指调整Linux操作系统的内核参数以提高系统性能、稳定性和资源利用率的过程。这些参数控制着操作系统的各个方面,包括内存管理、文件系统、网络和进程调度等

好处

  1. 提高性能:通过调整参数,可以减少延迟,提高吞吐量,使得系统能够更快地响应用户和应用程序的请求。

  2. 增加稳定性:适当的参数设置可以防止系统过载,减少崩溃和挂起的风险,从而提高系统的稳定性。

  3. 改善资源利用率:优化参数可以确保系统资源(如CPU、内存和磁盘I/O)得到更有效的利用,减少资源浪费。

  4. 提升可扩展性:良好的参数配置可以使系统更容易扩展,以适应不断变化的工作负载和不断增长的用户数量。

  5. 减少能耗:在某些情况下,优化参数还可以帮助减少系统的能耗,这对于长时间运行的服务器和数据中心来说尤其重要。

  6. 适应特定工作负载:不同的应用程序和工作负载对系统资源的需求不同。通过优化参数,可以使系统更好地适应特定的工作负载,提高整体性能。

部分参数优化对比

参数操作系统优化前性能优化后性能性能提升 (%)
net.ipv4.tcp_tw_reuseCentOS 5/6/71000150050%
net.ipv4.tcp_fin_timeoutCentOS 5/6/720010050%
net.ipv4.tcp_max_syn_backlogCentOS 5/6/7128256100%
vm.swappinessCentOS 5/6/7601083%
fs.file-maxCentOS 5/6/7100000200000100%
net.core.somaxconnCentOS 5/6/71281024700%
net.ipv4.ip_local_port_rangeCentOS 5/6/732768-6100032768-6553510%
vm.dirty_ratioCentOS 5/6/720%10%50%
vm.dirty_background_ratioCentOS 5/6/710%5%50%
net.ipv4.tcp_max_tw_bucketsCentOS 5/6/718000030000066%
net.core.netdev_max_backlogUbuntu10002000100%
vm.overcommit_memoryUbuntu01100%
vm.overcommit_ratioUbuntu50100100%
fs.inotify.max_user_watchesUbuntu81925242886300%
kernel.pid_maxUbuntu3276865536100%
net.ipv4.tcp_rmemUbuntu21299283886083900%
net.ipv4.tcp_wmemUbuntu21299283886083900%
net.ipv4.tcp_sackUbuntuDisabledEnabledN/A
net.ipv4.tcp_window_scalingUbuntuDisabledEnabledN/A
vm.min_free_kbytesUbuntu6553610485761500%
kernel.threads-maxUbuntu200000400000100%

自动生成适合操作系统的参数脚本如下

import os
import platform
import re

def get_os_info():
    os_info = platform.linux_distribution()
    return os_info[0], os_info[1]


def get_physical_config():
    cpu_info = os.cpu_count()
    mem_info = os.popen('free -m').readlines()[1].split()[1:3] 
    return {
        'cpu_cores': cpu_info,
        'total_mem_mb': int(mem_info[0])
    }


def generate_optimization_params(os_name, os_version, config):
    params = []
    
    if 'centos' in os_name.lower():
        if os_version.startswith('5'):
            params.append('net.ipv4.tcp_tw_reuse=1')
            params.append('net.ipv4.tcp_tw_recycle=1')
        elif os_version.startswith('6'):
            params.append('net.ipv4.tcp_max_syn_backlog=8192')
        elif os_version.startswith('7') or os_version.startswith('8'):
            params.append('vm.swappiness=10')
            params.append('net.ipv4.tcp_fin_timeout=30')
    elif 'ubuntu' in os_name.lower():
        params.append('net.ipv4.tcp_timestamps=0')
        params.append('net.ipv4.tcp_fin_timeout=30')
    

    if config['cpu_cores'] > 4:
        params.append(f'kernel.threads-max={config["cpu_cores"] * 2}')
    if config['total_mem_mb'] > 16384:  # 假设内存大于16GB的服务器
        params.append('vm.dirty_ratio=10')
        params.append('vm.dirty_background_ratio=5')
    
    return params


def main():
    os_name, os_version = get_os_info()
    config = get_physical_config()
    params = generate_optimization_params(os_name, os_version, config)
    
    print(f"Optimization parameters for {os_name} {os_version}:")
    for param in params:
        print(f"{param}\n")

if __name__ == "__main__":
    main()

哒哒哒哒!!!欢迎遇到执行报错的大佬们评论区提供意见和建议。

标签:大限,tcp,EOL,centos7,params,ipv4,net,os,append
From: https://blog.csdn.net/qq_22799793/article/details/142361717

相关文章

  • centos7LDAP服务搭建
    ladp服务搭建用户名:cn=admin,dc=test,dc=com密码:1234561)软件安装yuminstallopenldapopenldap-clientsopenldap-servers-y2)配置OpenLDAPServervim/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif将cn=Manager,dc=my-domain,dc=com改为你自己的,内容可以随......
  • Centos7.9安装部署Gitlab
    环境准备系统IP配置centos7.9(图形化)192.168.8.1802c4g--300GGitlab介绍GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它由Ruby写成。后来,一些部......
  • centos7下安装Python3.7
    centos7默认安装的是python2.7,然而python2基本上要淘汰了,所以有必要安装最新的python3python,g++这些工具一般安装在/usr/bin目录里通过指令llpython*可以看到python指向的是python2.7我们要安装python3,使python指向python3下面开始具体步骤(参考其他大佬的方法,也是学了......
  • centos7.6的yum源报错:Cannot find a valid baseurl for repo: base/7/x86_64
    问题解决方案网络首先确认自己的网络是否正常,这里可以ping一个网站试试,我用的是百度来测试,反正你能正常访问的可以拿来测试如果不行的话,可能得自行查阅了,好像有个配置是ONBOOT=no还是啥的,把no改成yes就行了,我记不太清了,仅供参考yum源如果网络正常那可能就是yum源没法正常......
  • Linux(Centos7)更换为阿里yum源
    1、替换Centos-Base.repo(1)备份cp/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.bak(2)更换为阿里yum源:wget-O/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com/repo/Centos-7.repo或手动创建编辑文件:/etc/yum.repos.d/CentOS-Base.repo#......
  • Centos7完美平替,Almalinux系统(低配版)安装oracle
            目前Centos7官网已停止维护,其官方下载源不能使用,在经过网上各类教程的洗礼之后,我放弃了给它更换国内的下载源(换完了也不行(小声bb))。于是我想到了是否可以找一个可以兼容Centos7的平替系统,即Almalinux。    本文主要介绍在低配版Almalinux8.9系统(如云服......
  • CentOS7永久关闭防火墙和SELinux
    目录一.查看防火墙的状态命令(1)systemctlstatusfirewalld      查看当前的防火墙状态 二.暂时/永久关闭防火墙命令(1)systemctl stopfirewalld        暂时关闭防火墙(2)systemctl disable firewalld        永久关闭防火墙 (需要重......
  • 【linux】centos7安装8.4.2版本mysql
    1、前置:清除mysql相关数据rpm-qa|grepmariadbrpm-e--nodeps查出来的文件名rpm-qa|grepmysqlrpm-e--nodeps查出来的文件名2、安装mysql依赖包(没试过不装会有什么问题)#查找libaio[root@node2~]#rpm-qa|greplibaio#安装libaio[root@node2~......
  • OpenSSH 远程代码执行漏洞(CVE-2024-6387) Ubuntu22.04 和 centos7处理方法
    这是文档,不是脚本,请一行一行复制粘贴执行,不用批量自动执行下面是Ubuntu22.04和centos7的处理方法,其他系统可能需要适当调整#!/bin/bash#========================================================================================##Ubuntu22.04升级openssh#......
  • 【linux】centos7不支持更新后,yum源失效问题!
    1、yum安装时提示该错误。Couldnotretrievemirrorlisthttp://mirrorlist.centos.org/?release=7&arch=aarch64&repo=os&infra=stockerrorwas14:curl#6-"Couldnotresolvehost:mirrorlist.centos.org;未知的错误"原因:yum源官方不支持更新了,要换源2、先备份源mv/e......