八、linux优化一
1、关闭selinux
1 2 3 4 5 | sed –I ‘s#SELINUX=enforcing#SELINUX=disabled#g’ /etc/selinux/config grep SELINUX=disabled /etc/selinux/config setenforce 0 |
2、关闭iptables
1 2 3 4 5 | [root@backup-41 ~]# /etc/init.d/iptables stop [root@backup-41 ~]# chkconfig iptables stop [root@backup-41 ~]# chkconfig iptables off |
3、精简开机自启动
1 2 3 4 5 6 7 8 9 10 11 12 13 | [root@backup-41 ~]# chkconfig|egrep -v "crond|sshd|network|rsynclog|sysstat" |awk '{print "chkconfig",$1,"off"}' |bash [root@backup-41 ~]# LANG=en [root@backup-41 ~]# chkconfig --list|grep 3: on crond 0:off 1:off 2: on 3: on 4: on 5: on 6:off network 0:off 1:off 2: on 3: on 4: on 5: on 6:off sshd 0:off 1:off 2: on 3: on 4: on 5: on 6:off sysstat 0:off 1: on 2: on 3: on 4: on 5: on 6:off |
4、添加sudo提权
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [root@backup-41 ~]# useradd pyrene [root@backup-41 ~]# \cp /etc/sudoers /etc/sudoers.ori [root@backup-41 ~]# echo "pyrene ALL=(ALL) NOPASSWD:ALL" >>/etc/sudoers #includedir /etc/sudoers.d pyrene ALL=(ALL) NOPASSWD:ALL [root@backup-41 ~]# tail -1 /etc/sudoers pyrene ALL=(ALL) NOPASSWD:ALL [root@backup-41 ~]# visudo -c /etc/sudoers: parsed OK |
5、时间同步
1 2 3 4 5 6 7 8 9 10 11 | [root@backup-41 ~]# [root@backup-41 ~]# echo '#time sync by pyrene at 2016-10-1' >>/ var /spool/cron/root [root@backup-41 ~]# echo '*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1' >>/ var /spool/cron/root [root@backup-41 ~]# crontab -l #time sync by pyrene at 2016-10-1 */5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/ null 2>&1 |
6、加大文件描述符
1 2 3 4 5 | [root@backup-41 ~]# echo '* - nofile 65535' >>/etc/security/limits.conf [root@backup-41 ~]# tail -1 /etc/security/limits.conf * - nofile 65535 |
7、内核优化
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 | cat >>/etc/sysctl.conf<<EOF # 内核panic时,1秒后自动重启 kernel.panic = 1 # 允许更多的PIDs (减少滚动翻转问题); may break some programs 32768 kernel.pid_max = 32768 # 内核所允许的最大共享内存段的大小(bytes) kernel.shmmax = 4294967296 # 在任何给定时刻,系统上可以使用的共享内存的总量(pages) kernel.shmall = 1073741824 # 设定程序core时生成的文件名格式 kernel.core_pattern = core_%e # 当发生oom时,自动转换为panic vm.panic_on_oom = 1 # 表示强制Linux VM最低保留多少空闲内存(Kbytes) vm.min_free_kbytes = 1048576 # 该值高于100,则将导致内核倾向于回收directory和inode cache vm.vfs_cache_pressure = 250 # 表示系统进行交换行为的程度,数值(0-100)越高,越可能发生磁盘交换 vm.swappiness = 20 # 仅用10%做为系统cache vm.dirty_ratio = 10 # 增加系统文件描述符限制 2^20-1 fs.file-max = 1048575 # 网络层优化 # listen()的默认参数,挂起请求的最大数量,默认128 net.core.somaxconn = 1024 # 增加Linux自动调整TCP缓冲区限制 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 # 进入包的最大设备队列.默认是300 net.core.netdev_max_backlog = 2000 # 开启SYN洪水攻击保护 net.ipv4.tcp_syncookies = 1 # 开启并记录欺骗,源路由和重定向包 net.ipv4.conf.all.log_martians = 1 net.ipv4.conf. default .log_martians = 1 # 处理无源路由的包 net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf. default .accept_source_route = 0 # 开启反向路径过滤 net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf. default .rp_filter = 1 # 确保无人能修改路由表 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf. default .accept_redirects = 0 net.ipv4.conf.all.secure_redirects = 0 net.ipv4.conf. default .secure_redirects = 0 # 增加系统IP端口限制 net.ipv4.ip_local_port_range = 9000 65533 # TTL net.ipv4.ip_default_ttl = 64 # 增加TCP最大缓冲区大小 net.ipv4.tcp_rmem = 4096 87380 8388608 net.ipv4.tcp_wmem = 4096 32768 8388608 # Tcp自动窗口 net.ipv4.tcp_window_scaling = 1 # 进入SYN包的最大请求队列.默认1024 net.ipv4.tcp_max_syn_backlog = 8192 # 打开TIME-WAIT套接字重用功能,对于存在大量连接的Web服务器非常有效。 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 0 # 表示是否启用以一种比超时重发更精确的方法(请参阅 RFC 1323)来启用对 RTT 的计算;为了实现更好的性能应该启用这个选项 net.ipv4.tcp_timestamps = 0 # 表示本机向外发起TCP SYN连接超时重传的次数 net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_synack_retries = 2 # 减少处于FIN-WAIT-2连接状态的时间,使系统可以处理更多的连接。 net.ipv4.tcp_fin_timeout = 10 # 减少TCP KeepAlive连接侦测的时间,使系统可以处理更多的连接。 # 如果某个TCP连接在idle 300秒后,内核才发起probe.如果probe 2次(每次2秒)不成功,内核才彻底放弃,认为该连接已失效. net.ipv4.tcp_keepalive_time = 300 net.ipv4.tcp_keepalive_probes = 2 net.ipv4.tcp_keepalive_intvl = 2 # 系统所能处理不属于任何进程的TCP sockets最大数量 net.ipv4.tcp_max_orphans = 262144 # 系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。 net.ipv4.tcp_max_tw_buckets = 20000 # arp_table的缓存限制优化 net.ipv4.neigh. default .gc_thresh1 = 128 net.ipv4.neigh. default .gc_thresh2 = 512 net.ipv4.neigh. default .gc_thresh3 = 4096 EOF |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· Vite CVE-2025-30208 安全漏洞
· 《HelloGitHub》第 108 期
· MQ 如何保证数据一致性?
· 一个基于 .NET 开源免费的异地组网和内网穿透工具