Linux系统I/O调优实例

文章目录

    • 一 、资源限制
    • 二、测试硬盘速度:


一 、资源限制

限制用户资源配置文件:/etc/security/limits.conf
[root@xuegod63 ~]# vim /etc/security/limits.conf
每行的格式:
用户名/@用户组名 类型(软限制/硬限制) 选项 值

通常我们在服务器上需要开放的内容:

实例1: 永久修改一个进程可以打开的最大文件数

vim /etc/security/limits.conf   #在最添加:*           soft   nofile            1024000
*               hard   nofile           1024000

注:soft是一个警告值,而hard则是一个真正意义的阀值,超过就会报错。soft一定要比hard小。
最大打开的文件数(以文件描叙符,file descripter计数)

2 、启动系统:
reboot #永久生效的缺点,必须重启系统
3、检查:

root@xuegod63 ~]# ulimit -n
1024000
[root@xuegod63 ~]# useradd kill   #以普通用户登录,测试
[root@xuegod63 ~]# su - kill
[mkkk@xuegod63 ~]$ ulimit -n
1024000

实例2:临时修改一个进程可以打开的最大文件数

[root@xuegod63 ~]# ulimit -n  10000   
[root@xuegod63 ~]# ulimit -n
10000

说明:/etc/security/limits.conf 是模块pam_limits.so的配置文件。
pam相关配置文件:
/lib64/security/ #pam模块所在目录
/etc/security/ #pam每个模块的配置文件
/etc/pam.d/ #使用pam功能的服务和应用程序的配置文件

说明:查看系统中哪些应用程序和服务使用了:pam_limits.so 模块

[root@xuegod63 ~]# grep pam_limits.so /etc/pam.d/ -R
/etc/pam.d/system-auth:session     required      pam_limits.so

实例3:nproc #用户可以打开的最大进程数
[root@xuegod63 ~]# vim /etc/security/limits.d/90-nproc.conf #RHEL6 必须这个文件中配置

改:
*          soft    nproc     10240
为:
*          soft    nproc     66666
*          hard    nproc     66666 [root@xuegod63 ~]# reboot    #最好重启一下
[root@xuegod63 ~]# ulimit -u
66666

或:
再打一个终端,直接查看

[root@xuegod63 ~]# ulimit -u
66666

临时:

[root@xuegod63 ~]# ulimit -u 60000
[root@xuegod63 ~]# ulimit -u
60000

注:默认用户可用的最大进程数量1024.这样以apache用户启动的进程就数就不能大于1024了。

[root@apache ~]# ulimit -a
core file size          (blocks, -c) 0      kdump转储功能打开后产生的core file大小限制
data seg size           (kbytes, -d) unlimited   数据段大小限制
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited    文件大小限制
pending signals                 (-i) 27955
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024  打开的文件个数限制
pipe size            (512 bytes, -p) 8   管道大小的限制
POSIX message queues     (bytes, -q) 819200   消息队列大小
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240  栈大小
cpu time               (seconds, -t) unlimited  CPU时间使用限制
max user processes              (-u) 27955   最大的用户进程数限制
virtual memory          (kbytes, -v) unlimited    虚拟内存限制 
file locks                      (-x) unlimited   

二、测试硬盘速度:

安装:

[root@xuegod64 ~]# yum -y install hdparm
[root@xuegod64 ~]# hdparm -T -t /dev/sda
/dev/sda:

Timing cached reads: 3850 MB in 2.00 seconds = 1926.60 MB/sec
#2秒中直接从内存的 cache读取数据的速度读 3850 MB。 平均1926.60 MB/sec
Timing buffered disk reads: 50 MB in seconds = 13.17 MB/sec
#3.80秒中从硬盘缓存中读 50 MB。 seconds = 13.17 MB/sec

参数:
-t perform device read timings #不使用预先的数据缓冲, 标示了Linux下没有任何文件系统开销时磁盘可以支持多快的连续数据读取.
-T perform cache read timings #直接从内存的 cache读取数据的速度。实际上显示出被测系统的处理器缓存和内存的吞吐量.

测试硬盘写命令: dd
在使用前首先了解两个特殊设备
  /dev/null 伪设备,回收站.写该文件不会产生IO开销
  /dev/zero 伪设备,会产生空字符流,读该文件不会产生IO开销
测试方法:
a.测试磁盘的IO写速度

[root@xuegod64 ~]# dd if=/dev/zero of=/test.dbf bs=8k count=3000
3000+0 records in
3000+0 records out
24576000 bytes (25 MB) copied, 1.04913 s, 23.4 MB/s

可以看到,在1.1秒的时间里,生成25M的一个文件,IO写的速度约为122.6MB/sec;
当然这个速度可以多测试几遍取一个平均值,符合概率统计.

time 命令: 执行命令并计时

[root@xuegod64 ~]# time dd if=/dev/zero of=/test.dbf bs=8k count=3000
3000+0 records in
3000+0 records out
24576000 bytes (25 MB) copied, 1.04913 s, 23.4 MB/s
real	0m1.061s  12:00 出去吃饭
user	0m0.002s  路上 20分
sys	0m0.770s  吃10分钟

注释:
1)实际时间(real time): 从command命令行开始执行到运行终止的消逝时间;
2)用户CPU时间(user CPU time): 命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和;
3)系统CPU时间(system CPU time): 命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和。

其中,用户CPU时间和系统CPU时间之和为CPU时间,即命令占用CPU执行的时间总和。实际时间要大于CPU时间,因为Linux是多任务操作系统,往往在执行一条命令时,系统还要处理其它任务。排队时间没有算在里面。
另一个需要注意的问题是即使每次执行相同命令,但所花费的时间也是不一样,其花费时间是与系统运行相关的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/465706.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

释放专利力量:Patently 如何利用向量搜索和 NLP 简化协作

作者:来自 Elastic Matt Scourfield, Andrew Crothers, Brian Lambert 组织依靠知识产权 (IP) 来推动创新、保持竞争优势并创造收入来源。对于希望将新产品推向市场的公司来说,弄清楚谁拥有哪些专利是一项必不可少的能力。搜索数百万项专利可能既困难又耗…

协议栈攻击分类(CISP-PTE笔记)

CISP-PTE笔记 协议栈攻击分类 1.协议栈自身的脆弱性 ​ 1)缺乏数据源验证机制 ​ 2)缺乏完整性验证机制 ​ 3)缺乏机密性验证机制 2.网络接口层攻击 3.网络层攻击 4.应用层攻击 网络攻击的基本模式 被动威胁(不影响通信双…

SpringBoot3集成Junit5

目录 1. 确保项目中包含相关依赖2. 配置JUnit 53. 编写测试类4、Junit5 新增特性4.1 注解4.2 断言4.3 嵌套测试4.4 总结 在Spring Boot 3中集成JUnit 5的步骤相对简单。以下是你可以按照的步骤: 1. 确保项目中包含相关依赖 首先,确保你的pom.xml文件中…

智慧城市智慧城市项目方案-大数据平台建设技术方案(原件Word)

第1章 总体说明 1.1 建设背景 1.2 建设目标 1.3 项目建设主要内容 1.4 设计原则 第2章 对项目的理解 2.1 现状分析 2.2 业务需求分析 2.3 功能需求分析 第3章 大数据平台建设方案 3.1 大数据平台总体设计 3.2 大数据平台功能设计 3.3 平台应用 第4章 政策标准保障…

算法练习:904. 水果成篮

题目链接:904. 水果成篮。 题目意思就是可以选取两个种类的水果不能超过两个种类,该种类个数没有限制, 但是一旦超过两个种类的水果就要停止计数。 示例中数组编号就是就是种类,就是不能出现三个不同编号的数。 1.暴力解法&…

wincc中全局脚本C(c语言脚本)的研究和解密

文章目录 前言一、分析 前言 很多时候我们在wincc中写全局脚本时会为自己的脚本添加密码,但很久很久以后再想修改密码忘记了怎么办呢。 一、分析 经过分析编码有了下面成功 ![请添加图片描述](https://i-blog.csdnimg.cn/direct/33baf91a49da410e82f16b4fbd746c48…

Java+控制台 商城销售系统

Java控制台 商城销售系统 一、系统介绍二、功能展示1.系统登陆2.二维数组实现商城销售系统3.类集实现商城销售系统 四、其它1.其他系统实现 一、系统介绍 实现一个xx商城销售系统的登录功能: 1))打开系统,给出欢迎信息。 2)将用户名和密码定…

微服务中常用分布式锁原理及执行流程

1.什么是分布式锁 分布式锁是一种在分布式系统环境下实现的锁机制,它主要用于解决,多个分布式节点之间对共享资源的互斥访问问题,确保在分布式系统中,即使存在有多个不同节点上的进程或线程,同一时刻也只有一个节点可…

A15基于Spring Boot的宠物爱心组织管理系统的设计与实现

🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 赠送计算机毕业设计600…

测试自动化如何和业务流程结合?

测试自动化框架固然重要,但是最终自动化的目的都是为了业务服务的。 那测试自动化如何对业务流程产生积极影响? 业务流程的重要性 测试自动化项目并非孤立存在,其生命周期与被测试的应用程序紧密相关。项目的价值在于被整个开发团队所使用&a…

AI - 使用LangChain请求LLM结构化生成内容

AI - 使用LangChain请求LLM结构化生成内容 基于深度学习的大型语言模型(LLM)不仅可以生成文本,还可以帮助我们完成许多复杂任务,如自动化客服、内容创作和数据分析。然而,如何从这些模型中结构化地获取输出&#xff0c…

使用GPT-SoVITS训练语音模型

1.项目演示 阅读单句话 1725352713141 读古诗 1725353700203 2.项目环境 开发环境:linux 机器配置如下:实际使用率百分之二十几, 3.开发步骤 1.首先是准备数据集,要求是wav格式,一到两个小时即可, 2.…

UML的另一个主角——用例图

顺序图和类图已经出过单集,本贴要分享的是用例图。 类图https://blog.csdn.net/jsl123x/article/details/143526286?spm1001.2014.3001.5501顺序图https://jslhyh32.blog.csdn.net/article/details/134350587 目录 一.系统 二.参与者 1.主要参与者 2.次要参与…

set和map的使用

目录 1.关联式容器 2.键值对 3.set 3.1set的模版参数列表 3.2对set的修改 3.2.1insert 3.2.2 erase 3.2.3clear 3.2.4swap 3.2.5 find 3.3set的迭代器 3.4set的容量 4.map 4.1对map的修改 4.1.1insert 4.1.2erase 4.1.3swap 4.1.4clear 4.2map的迭代器 4.3opera…

【5.10】指针算法-快慢指针将有序链表转二叉搜索树

一、题目 给定一个单链表,其中的 元素按升序排序 ,将其转换为 高度平衡的二叉搜索树 。 本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。 示例: 给定的有序链表: [ -10 , -3 , 0 , …

dns服务器配置

主服务器 1.挂载点 mount /dev/sr0 /mnt 2.防火墙关闭 systemctl stop firewalld setenforce 0 3.下载bind软件 dnf install bind -y 4.进行正向解析配置 vim /etc/named.conf options { listen-on port 53 { 192.168.92.128; }; directo…

stable diffusion图生图

本节内容,给大家带来的是stable diffusion的图生图课程,我们在midjourney的课程中有学习过midjourney的图生图功能,即使用垫图的方式来引导AI绘制图片。图生图是AI绘图程序一个非常重要的功能,stable diffusion同样提供了类似的功…

论文阅读笔记:DRCT: Saving Image Super-Resolution away from Information Bottleneck

论文阅读笔记:DRCT: Saving Image Super-Resolution away from Information Bottleneck 1 背景1.1 问题1.2 本文提出的方法 2 创新点3 方法4 模块4.1 问题描述4.2 深度特征提取模块4.3 同任务渐进式训练策略 5 效果5.1 和SOTA方法对比 论文:https://arxi…

一周内从0到1开发一款 AR眼镜 相机应用?

目录 1. 📂 前言 2. 💠 任务拆分 2.1 产品需求拆分 2.2 开发工作拆分 3. 🔱 开发实现 3.1 代码目录截图 3.2 app 模块 3.3 middleware 模块 3.4 portal 模块 4. ⚛️ 拍照与录像 4.1 前滑后滑统一处理 4.2 初始化 View 以及 Came…

【论文精读】LPT: Long-tailed prompt tuning for image classification

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀论文精读_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 摘要 2. …