操作系统参数的优化

一、IO调度算法

IO是"Input/Output" 的缩写,指的是计算机系统中输入和输出的操作,在磁盘或者其他块设备的读取和写入操作。

1、CFQ(Completely Fair Queuing,完全公平排队)

其主要目的是在多个进程竞争磁盘I/O时实现公平性,确保每个进程都能获得合理的I/O带宽。不太适用于MySQL

2、Deadline

Deadline调度算法是一种以截止时间为驱动的IO调度策略,它通过分类管理读写请求和保证请求在一定时间内被服务,来优化IO性能,特别是在需要保证IO请求及时性的场合。

适用场景对实时性比较高的应用,MySQL推荐使用Deadline算法

3、NOOP算法

NOOP算法非常简单,它不进行任何复杂的调度操作,只是将IO请求放入队列中,然后按顺序执行。适用于低延迟要求的场景

二、IO调度算法的查看和修改

1、查看IO调度算法

dmesg |grep -i scheduler

[root@localhost ~]# dmesg |grep -i scheduler
[    1.779288] io scheduler noop registered
[    1.779291] io scheduler deadline registered (default)
[    1.779312] io scheduler cfq registered
[    1.779313] io scheduler mq-deadline registered
[    1.779315] io scheduler kyber registered

查看当前设备使用的IO调度算法 

cat /sys/block/sda/queue/scheduler

[root@localhost ~]# cat /sys/block/sda/queue/scheduler 
noop [deadline] cfq

 2、临时修改IO调度算法

echo cfq > /sys/block/sda/queue/scheduler 

[root@localhost ~]# echo cfq > /sys/block/sda/queue/scheduler 
[root@localhost ~]# cat /sys/block/sda/queue/scheduler 
noop deadline [cfq] 

3、永久修改IO调度算法 

grubby --update-kernel=ALL --args="elevator=deadline"
三、文件句柄数

每个打开的文件都有一个唯一的文件句柄,即使多个程序打开同一个文件,每个程序都会有自己的文件句柄。程序通过文件句柄来指定要进行读写操作的具体文件。

1、ulimit

   查看文件句柄的具体限制
ulimit -n

   临时修改

ulimit -n 65534

  永久修改

vim /etc/security/limits.conf 

在该文件中加入
*     soft   nofile   65535
*     hard   nofile   65535

 2、file-max 

cat /proc/sys/fs/file-max

修改file-max参数

vim /etc/sysctl.conf
#加入
fs.file-max = 655350

#生效
sysctl -p

四、交换空间使用控制

1、swap是什么?

Swap(交换空间)是 Linux 和其他类 Unix 操作系统中的一种虚拟内存技术。它允许系统在物理内存(RAM)不足以容纳当前所有活跃进程时,将一部分内存中的数据暂时存储到硬盘上,从而释放物理内存以供其他进程使用。Swap 空间通常位于硬盘上,可以是专用的分区,也可以是文件。

2、控制swap使用的偏好

MySQL尽量不要使用过高的swap空间,但是也不要设置为0

sysctl vm.swappiness

如果要重启也生效的话

vim /etc/sysctl.conf
#加入
vm.swappiness=10

四、系统内存中脏页的最大百分比控制

1、控制的参数

sysctl vm.dirty_ratio

修改参数

sysctl vm.dirty_ratio=5

对于MySQL建议设置成5-20,较低的值可以减少脏页堆积,避免系统在高负载时因同步写入磁盘而阻塞。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值