xml地图|网站地图|网站标签 [设为首页] [加入收藏]

软件专题

当前位置:美高梅游戏网站 > 软件专题 > Centos 调优 I/O 优化

Centos 调优 I/O 优化

来源:http://www.gd-chuangmei.com 作者:美高梅游戏网站 时间:2019-09-03 22:04

1 查看L1,L2...

1 I/O 预先读请求的量(内核系统默认先响应读请求,所先响应的量可调):

dmesg x86info -c (yum install x86info -y)2 命中率,丢失率查看: valgrind --tool=caohegrind 命令3 查看进程优先级(一般默认为0) chrt -p 29022(进程号) top 三种优先级:SCHED_RR 1~99 调整方法:chrt -r 50 命令 SCHED_FIFO 1~99 调整方法:chrt -f 50 命令 SCHED_OTHER 100~139 (调整时的值为-20~19)调整方法: nice -n -18 命令 renice -18 -p 312(进程号)4 平均负载率查看 sar -q 1 2 (每隔一秒显示一次,共显示两次) top uptime5 使用率查看 mpstat sar -P ALL 1 2 iostat -c 1 2 more /proc/stat6 时钟频率 (xen上不可用) tick_divider= (在/etc/grub.conf中kernel那行添加) 2 (=500Hz) 4 (=250Hz) 5 (=200Hz) 8 (=125Hz) 10 (=100Hz) tick_divider值越小 cpu消耗就高,性能就低,计时器准确度高 tick_divider值越大 cpu消耗就低,性能就高,计时器准确度低7 cpu频率电压 /etc/init.d/cpuspeed 此进程可自动调节cpu频率电压的值 /etc/sysconfig/cpuspeed (此可手动配置cpu频率电压的值)8 IRQ balancing 此机制可将进程按一定方法分配给不同cpu执行(默认每10秒分配一次) 若想自己分配cpu任务进程:chkconfig irqbalance off (将IRQ balancing 关闭) ls /proc/irq (查看当前有的IRQ中断) 1 2 10 。。。。 ls /proc/irq/1/ i8042 smp_affinity cat smp_affinity 00000001 (此为cpu编号) echo 00000002 > /proc/irq/1/smp_affinity9 将进程分配给cpu taskset -p 0x00001 1 (将进程号为1的进程分配给0x00001cpu)10 制定开机后运行哪几个cpu vim /etc/grub.conf isolcpus=0,1,2...11 查看cpu与IRQ cat /proc/cpuinfo cat /proc/interrupt12 关闭cpu(无法关闭开机用cpu) echo 0 > /sys/devices/system/cpu/cpu1/online (关闭cpu1) echo 1 > /sys/devices/system/cpu/cpu1/replaceable/online (开启cpu1)13 查看进程取得哪些资源 cat /proc/3213/status14 将cpu分组(默认组为/) 例(建立 /cpusets cpu组) mkdir /cpusets grep cpu /proc/filesystems vim /etc/fstab mount -t cpuset nodev /cpusets/ mount -a ls /cpusets/ .....cpus.....mem....tasks... echo 1 > /cpusets/cpus (为/cpusets分配cpu) echo 0 > /cpusets/mems (为/cpusets分配mem) echo 3132 > /cpusets/tasks (进程号为3132的进程绑到cpusets组) cat /proc/3132/cpuset /cpusets (默认为/) (/cpusets/cpu_exclusive 此中的cpu只能在此cpu组运行) (/cpusets/notify_on_release 自动清理cpu组缓存开关)

查看 blockdev --getra /dev/sda 默认值是256 此为单向 or more /sys/block/sda/queue/read_ahead_kb 默认是512 是256的两倍 此为双向 调整 blockdev --setra 512 /dev/sda or echo 256 /sys/block/sda/queue/read_ahead_kb2 I/O 请求队列长度(调大能增加硬盘吞吐量,但要占用更多内存): /sys/block/sda/queue/nr_requests3 I/O调度算法 more /sys/block/sda/queue/scheduler noop anticipatory deadline [cfg] (四种I/O调度算法,[]为选中算法) 每种调度算法的可调参数位于 /sys/block/sda/queue/iosched 变更四种算法 cho noop > /sys/block/sda/queue/scheduler 四种算法详解 deadline (适合小文件读写,跳跃式读写,零散读写(数据库)) iosched 中若干参数说明: read_expire 默认500 此时间一到就写 write_expire 默认5000 此时间一到就读 在此时间内一定可以得到服务 front_merges 0 1(默认) 当新请求与当前请求读写位置相近则可合并优先处理 anticipatory (适合大文件读写,整块式,重复读写(web server)) iosched 中若干参数说明: antic_expire 当一个请求结束后等待此时间长度 看是否有新请求与此请求读写位置近 read_expire 124(默认) write_expire 248(默认) cfg (完全公平算法) iosched 中若干参数说明:queued 请求个数长度 quantum 满多少个请求数写入一次磁盘 优先级 class1 (real-time)实时 值0~7 class2 (best-effort)轮询 值0~7 class3 (idle) 只有空闲时才处理 调整方法 ionice -p 1(进程号)-n7(优先级值)-c2(class级) 优先级值越低,优先级越高 noop(没有算法,适用于SAN架构,不在本地优化)文件系统优化1 查看 filefrag -v /file 查看某文件位于文件系统信息 dumpe2fs /dev/sda1 查看某分区信息2 mke2fs -m 5 /dev/sda1 在/dev/sda1中预留5%的block来防止数据分段 tune2fs -m 10 /dev/sda1 将5%改成10% tune2fs -r 1000 /dev/sda1 将5%改成具体block数3 mount -o data=ordered /dev/sda1 (默认) 文件系统日志区仅存放元数据 mount -o data=journal /dev/sda1 把数据与元数据都先写入日志区(安全,慢) mount -o data=writeback /dev/sda1 不按日志区元数据顺序来写数据(不安全,快)4 关闭文件系统访问时间更新 mount -o notime /dev/sda1 每隔五秒按日志区元数据来写数据 mount -o commit=5(默认) /dev/sda1RAID优化1 yum install sysstat(提供iostat,sar等系统信息查看命令) -y iostat -x /dev/sda(得到avgrq-sz(每秒平均请求扇区数)) 计算chunk size = avgrq-sz * 512 /1024 /RAID磁盘数 (chunk size 值只能取2的n次方)2 mdadm -C /dec/md0 -l1 -n2 -b /tmp/md0(外部位图) --write-behind=256 /dev/sdc1 --write-mostly /dev/sdd1 (当请求满256时,多出的请求读写/dev/sdd1,否则只读写/dev/sdc1,此方式用于当/dev/sdc1性质优于/dev/sdd1)3 /sys/block/md0/md/sync_speed_max(磁盘同步最大速度) /sys/block/md0/md/sync_speed_min(磁盘同步最小速度)

本文由美高梅游戏网站发布于软件专题,转载请注明出处:Centos 调优 I/O 优化

关键词:

上一篇:Linux 下修改系统时间和CMOS时间

下一篇:没有了