linux操作系统性能优化

学习目标:

linux操作系统性能优化主要几个方面的考虑:

  • 内核参数优化配置
  • 文件系统参数优化配置
  • 网络IO优化配置
  • 内存管理优化配置
  • 内存的合理使用和检测

学习内容:

配置项以虚拟文件系统的形式体现

文件目录参数类型
/proc/sys/kernel/*内核相关配置参数
/proc/sys/net/*网络相关配置参数
/proc/sys/vm/*内存管理相关配置参数
/proc/sys/fs/*文件系统相关配置参数

在这里插入图片描述

系统安装优化

磁盘的划分

  • raid 0:写操作频繁而对数据安全性要求不高
  • raid 1:对数据安全性要求高,对读写没特别要求
  • raid 5:对读操作要求高,写操作无特殊要求,并要保证数据安全性
  • raid 01:读写要求都很高,并且对安全性要求也高

配置项修改方法

1、echo value > /proc/sys/subsys/item立即生效,重启后丢失
2、编辑“/etc/sysctl.conf”,添加 subsys.item = value不生效,重启后生效
3、sysctl -p /etc/sysctl.conf使/etc/sysctl.conf的内容立即生效

内存使用和查看

1:多使用Cache+Buffer
LINUX系统内存管理的原则为:尽可能多的使用Cache+Buffer,减少SWAP分区的使用,以提高性能。Cache的占用会提高虚存的命中率,从而提高系统性能。因此在系统运行一段时间后,内存都被cached占用,used也会提高。

2:内存占用率查看方法
在Linux上,cache为文件缓存,与文件相关,只包含文件内容。除此之外还有buffer即block buffer,是块设备读写操作的block缓存,与块设备相关。Linux共享内存是被当作文件缓存处理,cache中包含了已经占用的共享内存。所以计算当前剩余内存时,为free + buffers + cached。但是这里需要排除cache里面正在使用的共享内存部分(比如数据库正在使用的共享内存此时就不能drop)。
文件缓存可以通过执行如下命令drop:
linux:/proc # echo 3 > /proc/sys/vm/drop_caches #执行此命令时建议先执行sync命令将所有未写的系统缓冲区写到磁盘中
0:不释放(系统默认值) 1:释放页缓存 2:释放dentries和inodes 3:释放所有缓存
执行以上命令后,系统当前没有使用到的文件缓存会被丢弃,再次查看cached所占用的内存大小就是linux正在使用的共享内存部分。

vm.min_free_kbytes=102400			#表示强制Linux VM最低保留多少空闲内存

网络相关配置

net.ipv4.ip_forward=1			   #接口间转发报文
net.core.rmem_default=8388608		#默认的TCP数据接收窗口大小(字节)
net.core.rmem_max=8388608			#最大的TCP数据接收窗口(字节)
net.core.somaxconn=4096				#定义了系统中每一个端口最大的监听队列的长度,是个全局参数,该参数指的是处于ESTABLISHED的数量上限
net.core.wmem_default=8388608		#默认的TCP数据发送窗口大小(字节)
net.core.wmem_max=20971520			#最大的TCP数据发送窗口(字节)
net.ipv4.tcp_keepalive_intvl=30			#探测消息未获得响应时,重发该消息的间隔时间(秒)
net.ipv4.tcp_keepalive_probes=3			#在认定TCP连接失效之前,最多发送多少个keepalive探测消息
net.ipv4.tcp_keepalive_time=3000		#TCP发送keepalive探测消息的间隔时间(秒),用于确认TCP连接是否有效
net.ipv4.tcp_max_syn_backlog = 4096		#指的是还在三次握手的半连接的上限
net.ipv4.ip_nonlocal_bind=1		    #允许非本地IP地址socket监听,当主机作为网关、反向代理或负载均衡器实现双机热备高可用时,主机需要绑定监听虚拟VIP地址时,必须开启此项
net.ipv4.icmp_echo_ignore_broadcasts = 1			#忽略icmp广播,避免放大攻击
net.ipv4.icmp_ignore_bogus_error_responses = 1		#开启恶意icmp错误消息保护

文件系统参数优化配置

/proc/sys/fs/file-max

说明:配置系统全局打开文件数量上限,包括socket、pipe等,实际上就是句柄数。
配置方法举例:在shell提示符下输入命令 echo 6553560 > /proc/sys/fs/file-max

  • soft nproc 65535 #可打开的文件描述符的最大数(软限制)

  • hard nproc 65535 #可打开的文件描述符的最大数(硬限制)

    /etc/security/limits.conf
    说明:设置当前shell以及由它启动的进程的资源限制。
    配置方法举例:修改/etc/security/limits.conf并加入以下配置:

  • soft nofile 65535

  • hard nofile 65535

学习时间:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值