Linux性能调优-disk,memory

通过slice调优应用程序的cpu使用
1. 创建并编辑文件vim /etc/systemd/system/system-frontend.slice
[Unit]
Description=frontend Slice  ##名称
[Slice]
CPUQuota=50%      ##使用50%的CPU配额
CPUAccounting=yes ##启用CPU计数
2.创建目录 mkdir /etc/systemd/system/frontend.service.d
3.创建并编辑文件 vim /etc/systemd/system/frontend.service.d/10-slice.conf
[Service]
Slice=system-frontend.slice  ##指向system-frontend.slice
4. 装载 systemctl daemon-reload
5. 重启 systemctl restart frontend
6. 确认 CGroup 正常
systemctl status frontend | grep CGroup
systemd-cgls /system.slice/system-frontend.slice
7. 安装httpd yum install httpd
8. 启动httpd systemctl enable httpd --now
9. 查看cpu分配 tuna -t httpd -P
10. 创建目录 mkdir /etc/systemd/system/httpd.service.d
11. 编辑配置文件vim  /etc/systemd/system/httpd.service.d/10-CPUAffinity.conf
[Service]
CPUAffinity=0  ##CPU亲和性
12. systemctl  daemon-reload ##装载
13. systemctl  restart httpd.service ##重启http服务
14. tuna -t httpd -P ##查看http服务的CPU使用状态
15. mkdir /etc/systemd/system/rngd.service.d
16. vim  /etc/systemd/system/rngd.service.d/20-batch.conf
[Service]
CPUSchedulingPolicy=batch  ##CPU调度策略
CPUSchedulingPriority=0    ##CPU计划优先级
17. systemctl daemon-reload  ##装载
18. systemctl restart rngd   ##重启 rngd 
19. ps o pid,cls,rtprio,comm $(pidof rngd)  ##查看rngd状态


挂载一个文件目录
1. mkdir /etc/tuned/virt-guest-lab  ##增加目录virt-guest-lab
2. yum install -y vim
3. vim /etc/tuned/virt-guest-lab/tuned.conf  
[main]
summary=Custom tuned profile
include=virtual-guest

[disk]
devices=vdb
readahead=4096 sectors 
4.  tuned-adm profile virt-guest-lab  ##使virt-guest-lab配置生效
5.  blockdev --getra /dev/vdb  ##确认VDB的扇区数目
6.  parted /dev/vdb mklabel gpt  ##创建分区标签
7.  parted /dev/vdc mklabel gpt  ##创建分区标签
8.  parted --align=opt /dev/vdb mkpart primary xfs 0% 100%  ##创建主分区5GB
9.  parted --align=opt /dev/vdc mkpart primary xfs 0% 1GiB  ##创建主分区1GiB
10. partx -uv /dev/vdb  ##强制重新加载分区表
11. partx -uv /dev/vdc  ##强制重新加载分区表
12. mkfs.xfs -i size=512 -b size=4096 -l logdev=/dev/vdc1 /dev/vdb1  ##格式化
13. mkdir /bigfiles  ##创建目录
14. vim /etc/fstab   ##增加挂载点   
/dev/vdb1 /bigfiles xfs relatime,logdev=/dev/vdc1 0 0
15. mount /dev/vdb1  ##挂载硬盘
16. findmnt --target /bigfiles  ##查看挂载后目录

调整内存大页
1. mkdir /etc/tuned/enterprise-database  ##增加enterprise-database的配置文件
2. vim /etc/tuned/enterprise-database/tuned.conf ##创建配置文件
[root@serverb ~]# cat  /etc/tuned/enterprise-database/tuned.conf
[main]
include = throughput-performance   ##名称

[vm]
# Disabling transparent huge pages
transparent_hugepages = never  ##关闭透明大页

[sysctl]
# Allocating 256 MiB of huge pages (256 MiB / 2 MiB page = 128)
vm.nr_hugepages = 128   ##分配大小
# Using swap as little as possible
vm.swappiness = 1  ##交换区设置较小
# Starting background writeback at 3% ##设置后台回写
vm.dirty_background_ratio = 3  
# The process generating dirty data starts writeback at 15% ##设置脏数据回写
vm.dirty_ratio = 15

3. systemctl status memload.service  ##查看状态失败
4. vim /etc/tuned/enterprise-database/tuned.conf ##配置文件中增加允许内存过量提交
# Always accept memory overcommit 
vm.overcommit_memory = 1
5. systemctl set-property memload.service MemoryLimit=512M  ##设置内存限制参数
6. mkdir /etc/systemd/system/memload.service.d  ##增加内促服务
7. vim  /etc/systemd/system/memload.service.d/00-limit.conf  ##可以手动设置内存限制参数
[Service]
MemoryLimit=512M
8. systemctl daemon-reload  ##重新加载
9. yum install numactl      ##安装numa 
10. vim /etc/systemd/system/memload.service ##增加numa启动位置
[Service]
ExecStart=/bin/numactl --interleave all -- /usr/local/bin/memload 40G
11. systemctl daemon-reload ##重新加载
12. tuned-adm profile enterprise-database  ##启用新的配置文件
13. systemctl restart postgresql  ##重启PG库
14. systemctl start memload       ##启用memload
15. systemctl status memload      ##查看memload状态
16. grep Huge /proc/meminfo       ##查看内存大页状态
17. numastat -c memload           ##确认所有numa节点使用了新策略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值