- 浏览: 567247 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (618)
- java (109)
- Java web (43)
- javascript (52)
- js (15)
- 闭包 (2)
- maven (8)
- 杂 (28)
- python (47)
- linux (51)
- git (18)
- (1)
- mysql (31)
- 管理 (1)
- redis (6)
- 操作系统 (12)
- 网络 (13)
- mongo (1)
- nginx (17)
- web (8)
- ffmpeg (1)
- python安装包 (0)
- php (49)
- imagemagic (1)
- eclipse (21)
- django (4)
- 学习 (1)
- 书籍 (1)
- uml (3)
- emacs (19)
- svn (2)
- netty (9)
- joomla (1)
- css (1)
- 推送 (2)
- android (6)
- memcached (2)
- docker、 (0)
- docker (7)
- go (1)
- resin (1)
- groovy (1)
- spring (1)
最新评论
-
chokee:
...
Spring3 MVC 深入研究 -
googleyufei:
很有用, 我现在打算学学Python. 这些资料的很及时.
python的几个实用网站(转的) -
hujingwei1001:
太好了找的就是它
easy explore -
xiangtui:
例子举得不错。。。学习了
java callback -
幻影桃花源:
太好了,謝謝
Spring3 MVC 深入研究
原文地址:http://www.3lian.com/edu/2013/12-03/112174.html
怎样才能快速的定位到并发高是由于磁盘io开销大呢?可以通过三种方式:
第一种:用 top 命令 中的cpu 信息观察
Top可以看到的cpu信息有:
Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si
具体的解释如下:
Tasks: 29 total 进程总数
1 running 正在运行的进程数
28 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数
Cpu(s):
0.3% us 用户空间占用CPU百分比
1.0% sy 内核空间占用CPU百分比
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
98.7% id 空闲CPU百分比
0.0% wa 等待输入输出的CPU时间百分比
0.0% hi
0.0% si
0.0% wa 的百分比可以大致的体现出当前的磁盘io请求是否频繁。如果 wa的数量比较大,说明等待输入输出的的io比较多。
第二种:用vmstat
vmstat 命令报告关于线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。
输入命令:
vmstat 2 5
如果发现等待的进程和处在非中断睡眠状态的进程数非常多,并且发送到块设备的块数和从块设备接收到的块数非常大,那就说明磁盘io比较多。
vmstat参数解释:
Procs
r: 等待运行的进程数 b: 处在非中断睡眠状态的进程数 w: 被交换出去的可运行的进程数。此数由 linux 计算得出,但 linux 并不耗尽交换空间
Memory
swpd: 虚拟内存使用情况,单位:KB
free: 空闲的内存,单位KB
buff: 被用来做为缓存的内存数,单位:KB
Swap
si: 从磁盘交换到内存的交换页数量,单位:KB/秒
so: 从内存交换到磁盘的交换页数量,单位:KB/秒
IO
bi: 发送到块设备的块数,单位:块/秒
bo: 从块设备接收到的块数,单位:块/秒
System
in: 每秒的中断数,包括时钟中断
cs: 每秒的环境(上下文)切换次数
CPU
按 CPU 的总使用百分比来显示
us: CPU 使用时间
sy: CPU 系统使用时间
id: 闲置时间
准测
更多vmstat使用信息
第二种:用iostat
安装:
Iostat 是 sysstat 工具集的一个工具,需要安装。
Centos的安装方式是:
yum install sysstat
Ubuntu的安装方式是:
aptitude install sysstat
使用:
iostat -dx 显示磁盘扩展信息
root@fileapp:~# iostat -dx
r/s 和 w/s 分别是每秒的读操作和写操作,而rKB/s 和wKB/s 列以每秒千字节为单位显示了读和写的数据量
如果这两对数据值都很高的话说明磁盘io操作是很频繁。
怎样才能快速的定位到并发高是由于磁盘io开销大呢?可以通过三种方式:
第一种:用 top 命令 中的cpu 信息观察
Top可以看到的cpu信息有:
Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si
具体的解释如下:
Tasks: 29 total 进程总数
1 running 正在运行的进程数
28 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数
Cpu(s):
0.3% us 用户空间占用CPU百分比
1.0% sy 内核空间占用CPU百分比
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
98.7% id 空闲CPU百分比
0.0% wa 等待输入输出的CPU时间百分比
0.0% hi
0.0% si
0.0% wa 的百分比可以大致的体现出当前的磁盘io请求是否频繁。如果 wa的数量比较大,说明等待输入输出的的io比较多。
第二种:用vmstat
vmstat 命令报告关于线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。
输入命令:
vmstat 2 5
如果发现等待的进程和处在非中断睡眠状态的进程数非常多,并且发送到块设备的块数和从块设备接收到的块数非常大,那就说明磁盘io比较多。
vmstat参数解释:
Procs
r: 等待运行的进程数 b: 处在非中断睡眠状态的进程数 w: 被交换出去的可运行的进程数。此数由 linux 计算得出,但 linux 并不耗尽交换空间
Memory
swpd: 虚拟内存使用情况,单位:KB
free: 空闲的内存,单位KB
buff: 被用来做为缓存的内存数,单位:KB
Swap
si: 从磁盘交换到内存的交换页数量,单位:KB/秒
so: 从内存交换到磁盘的交换页数量,单位:KB/秒
IO
bi: 发送到块设备的块数,单位:块/秒
bo: 从块设备接收到的块数,单位:块/秒
System
in: 每秒的中断数,包括时钟中断
cs: 每秒的环境(上下文)切换次数
CPU
按 CPU 的总使用百分比来显示
us: CPU 使用时间
sy: CPU 系统使用时间
id: 闲置时间
准测
更多vmstat使用信息
第二种:用iostat
安装:
Iostat 是 sysstat 工具集的一个工具,需要安装。
Centos的安装方式是:
yum install sysstat
Ubuntu的安装方式是:
aptitude install sysstat
使用:
iostat -dx 显示磁盘扩展信息
root@fileapp:~# iostat -dx
r/s 和 w/s 分别是每秒的读操作和写操作,而rKB/s 和wKB/s 列以每秒千字节为单位显示了读和写的数据量
如果这两对数据值都很高的话说明磁盘io操作是很频繁。
发表评论
-
Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
2015-10-21 09:48 568原文地址:http://c.biancheng.net/cpp ... -
Linux(非ubuntu系统)下安装lrzsz
2015-09-14 15:12 506原文地址:http://jingyan.baidu.com/a ... -
Linux中LANG,LC_ALL,local详解
2015-09-08 15:59 740原文地址:http://blog.csdn.net/z4213 ... -
Linux新手入门:Unable to locate package错误解决办法
2015-03-24 09:33 1023原文地址:http://www.cppblog.com/col ... -
Linux命令大全(自己用)
2015-02-10 11:42 1175原文地址:http://blog.chinaunix.net/ ... -
Linux中find常见用法示例
2014-10-24 09:42 408原文地址:http://blog.chin ... -
Linux中find常见用法
2014-10-24 09:40 650原文地址:http://tutorials.hostucan. ... -
CentOS升级Git(自己看)
2014-10-23 10:13 380原文地址:http://blog.csdn.net/ljian ... -
rpm 命令|rpm 安装|rpm 卸载|rpm 使用|rpm 删除
2014-10-23 10:04 664原文地址:http://www.jb51.net/LINUXj ... -
vbox中Linux mysql 的远程连接
2014-07-02 16:53 736原文地址:http://pengranxi ... -
关于vbox使用的一点总结
2014-07-02 16:52 848原文地址:http://chinachen ... -
putty
2014-07-02 15:36 696putty host 127.0.0.1:2222 putty ... -
ssh 连 koding
2014-07-02 14:03 886原文地址:http://www.cnblo ... -
用PROXYCHAINS实现SSH全局代理
2014-07-02 13:26 2745用PROXYCHAINS实现SSH全局代理 LINUX下可以实 ... -
在windows下用virtualbox虚拟ubuntu,并通过ssh登录
2014-07-01 16:37 611The best way to login to a gues ... -
文本搜索必学命令-grep egrep fgrep用法以及正则表达式
2014-03-13 14:54 795文本搜索必学命令-grep egrep fgrep用法以及正则 ... -
HTTrack 网站复制
2014-02-14 16:03 3082黑客 专题一 常用工具 ... -
linux下源码安装软件
2014-01-17 13:32 745http://www.cnblogs.com/huangfen ... -
抓包工具
2014-01-08 18:07 659backtrack http://www.backtrack ... -
Vim配置大全
2013-12-20 17:49 1141http://0nly.me/2013/11/vim-all/ ...
相关推荐
第三种方法是使用`iostat`工具,它提供了更为详细的磁盘I/O性能指标。`iostat -dx`命令会显示每个磁盘的读写操作次数(r/s, w/s)以及读写数据量(rKB/s, wKB/s)。如果这些值持续保持在较高水平,说明磁盘I/O活动...
本文将介绍三种常用的方法来查看Linux系统的磁盘I/O开销:top命令、vmstat命令以及iostat命令。 1. **使用top命令** `top`命令是一个实时的系统监视工具,它提供了关于CPU利用率、内存使用情况、进程状态等信息。...
在Linux中,我们可以使用`free`命令来查看内存的状态。`free -h`会以人类可读的格式显示总内存、已用内存、空闲内存以及缓存等信息。如果想看到更详细的内存使用情况,可以使用`free -m`,它会以MB为单位显示内存...
Linux I/O 层次结构大致可以分为以下几层: 1. **应用程序(Processes)** 2. **虚拟文件系统(VFS)** 3. **页面缓存(Page Cache)** 4. **块 I/O 层(Block I/O Layer)** 5. **I/O 调度器(I/O Scheduler)** 6....
### Linux IO优化详解 ...通过本篇文章的介绍,我们不仅了解了Linux系统提供的几种主要I/O调度算法及其工作原理,还学习了如何查询和更改系统默认的I/O调度算法,这对于实际系统调优具有重要意义。
### Linux Block IO:引入多队列SSD访问在多核系统中的应用 #### 摘要 随着存储设备性能从几年前的每秒几百次输入/输出操作(I/O)迅速提升到现在的每秒数十万次I/O,并且预计未来五年内将达到每秒数百万次I/O,...
2. **数据库AWR报告方式**:通过查看AWR报告中的`AvRd(MS)`列来判断单个IO的响应时间。 - **示例**:如果`AvRd(MS)`值显示大多数数据文件的IO响应时间超过40毫秒,说明当前IO性能存在问题。 #### 带刀侍卫——处理...
在Linux系统中,文件I/O操作可以分为打开、读取、写入、关闭和定位等几个步骤。标准I/O库是C语言标准库的一部分,提供了对文件进行操作的函数。标准I/O库的使用涉及三种缓存类型:全缓冲、行缓冲和无缓冲。全缓冲是...
本文将深入探讨如何在Linux环境下监测和分析主机IO性能,涵盖dd命令的基本应用、iostat工具的详细使用方法,以及磁盘特性与IOPS的概念解析。 ### dd命令:磁盘性能简易测试 #### 测试磁盘的写入 dd命令是一种强大...
Linux下挂载硬盘分区的几种方法 Linux系统中挂载硬盘分区有多种方法,本文将介绍其中的三种:使用Autofs自动挂载分区、修改/etc/fstab文件和编写shell脚本自动挂载分区。 方法一:使用Autofs自动挂载分区 Autofs...
在Linux系统中,读取FAT32格式的硬盘是一个常见的任务,这主要涉及到文件系统的交互和编程。FAT32是一种广泛使用的文件系统,尤其在USB驱动器、记忆卡和其他移动存储设备上。在Linux环境下,理解如何访问和操作FAT32...
本文将详细探讨"file_IO_test.zip"压缩包中的"file_IO_test"程序,它专注于Linux下的I/O操作,并利用steadept技术来提升性能。 首先,让我们了解Linux中的文件I/O。在Linux操作系统中,一切皆为文件,包括硬件设备...
本文将详细介绍Linux中的几种I/O调度算法,包括Deadline Scheduler、Anticipatory Scheduler以及Completely Fair Queuing (CFQ),并探讨它们的工作原理及其应用场景。 #### 二、Deadline Scheduler **Deadline ...
针对上述问题,Linux引入了一种名为直接I/O的机制,旨在克服缓存I/O的一些限制,尤其适用于自缓存应用程序。 **直接I/O的特点**: - **绕过页缓存**:直接I/O机制允许数据直接在应用程序地址空间与磁盘之间传输,...
电梯合并机制(`elv_merge`)是为了提高IO效率而设计的一种策略。其核心思想是尽可能地合并相邻或相近位置的IO请求,从而减少磁头移动次数。具体实现上,当队列中有待合并的请求(`last_merge`不为空)时,只需简单计算`...