当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪使用dstat监控linux硬盘      饱受服务器overload之苦,排除了CPU的瓶颈之后,剩下就是排查IO的问题了。 用iostat -x 5 发现IO确实很大, %util基本上在100%左右,说明有问题;但具体是什么进程在作怪呢? 找了两个工具: io.........
    ▪linux复制所有文件或解压指定文件到指定目录      例1、复制某个文件夹下所有的文件和目录到指定文件夹下。 错误用法:cp $src/* $dst/ 现象:隐藏文件和文件夹不会被拷贝 正确用法: cp $src/. $dst/ 例2、解压压缩包中的指定文件到指定目录 ta.........
    ▪修改linux下磁盘参数的命令      介绍: 在linux下修改当前磁盘的一些信息,如磁盘的卷标,日志参数等,可能用到下面的一些参数。 这里为大家介绍几个修改磁盘参数的命令,感兴趣的朋友参考下。 1.  mknod 用法:mknod  .........

[1]使用dstat监控linux硬盘
    来源: 互联网  发布时间: 2013-12-24

饱受服务器overload之苦,排除了CPU的瓶颈之后,剩下就是排查IO的问题了。
用iostat -x 5 发现IO确实很大, %util基本上在100%左右,说明有问题;但具体是什么进程在作怪呢?
找了两个工具:
iotop用python写的,要求python2.5以上,而且系统内核在2.6.20以上,而我的centos只是2.6.18无法使用
dstat还不错
下载
wget http://dstat.sourcearchive.com/downloads/0.7.2-2/dstat_0.7.2.orig.tar.gz
  解压后可用
先看看包含那些modules 使用命令:
 /dstat --list
internal:
aio, cpu, cpu24, disk, disk24, disk24old, epoch, fs, int, int24, io, ipc, load, lock, mem, net, page, page24, proc, raw, socket,
        swap, swapold, sys, tcp, time, udp, unix, vm
/usr/sky/soft/dstat/dstat/plugins:
battery, battery-remain, cpufreq, dbus, disk-tps, disk-util, dstat, dstat-cpu,dstat-ctxt, dstat-mem, fan, freespace, gpfs, gpfs-ops, helloworld, innodb-buffer, innodb-io, innodb-ops, lustre, memcache-hits, mysql-io, mysql-keys, mysql5-cmds, mysql5-conn,
mysql5-io, mysql5-keys, net-packets, nfs3, nfs3-ops, nfsd3, nfsd3-ops, ntp, postfix, power, proc-count, qmail, rpc, rpcd, sendmail, snooze, squid, test, thermal, top-bio, top-bio-adv, top-childwait, top-cpu, top-cpu-adv, top-cputime, top-cputime-avg, top-int,top-io, top-io-adv, top-latency, top-latency-avg, top-mem, top-oom, utmp, vm-memctl, vmk-hba, vmk-int, vmk-nic, vz-cpu, vz-io, vz-ubc, wifi
内容很多
我们这里只用到top-io  top-bio
dstat --top-io -d --top-bio -l
     i/o process      | read  writ|  block i/o process   | 1m   5m  15m
nginx: work1407k 1718k|   0  1980k|syslogd       0   200k|4.99 4.97 5.04
nginx: work 603k  878k|   0  1644k|syslogd       0   212k|4.99 4.97 5.04
java         14M   14M|   0  1876k|java          0    14M|5.55 5.09 5.08
java         15M   15M|   0    18M|java          0    15M|5.55 5.09 5.08
java         15M   16M|   0    23M|java          0    16M|5.55 5.09 5.08
java       4216k 4272k|   0    13M|java          0  4272k|5.55 5.09 5.08
java         15M   16M|   0    12M|java          0    16M|5.55 5.09 5.08
java         17M   17M|   0    16M|java          0    17M|5.59 5.10 5.08
可以看出是java的进程有些问题,但是那个进程号还得查资料。

使用命令:
dstat --top-io-adv

 ./dstat -t --top-io-adv -d -l
09-02 14:32:00|java                 13863  19M  19M2.2%|   0    15M|6.34 6.05 6.02
09-02 14:32:01|java                 13863  16M  18M3.2%|   0    20M|6.34 6.05 6.02
09-02 14:32:02|java                 13863  20M  16M3.4%|   0    13M|6.34 6.05 6.02
09-02 14:32:03|java                 13863  14M  15M5.9%|   0  1724k|6.34 6.05 6.02
09-02 14:32:04|java                 13863  17M  18M2.7%|   0    30M|6.34 6.05 6.02
09-02 14:32:05|java                 13863  14M  14M2.0%|   0    21M|6.32 6.05 6.02
09-02 14:32:06|java                 138636840k3726k0.8%|   0    10M|6.32 6.05 6.02
09-02 14:32:07|nginx: worker process1538 1120k1490k0.2%|   0  1748k|6.32 6.05 6.02


    
[2]linux复制所有文件或解压指定文件到指定目录
    来源: 互联网  发布时间: 2013-12-24

例1、复制某个文件夹下所有的文件和目录到指定文件夹下。
错误用法:cp $src/* $dst/
现象:隐藏文件和文件夹不会被拷贝
正确用法: cp $src/. $dst/

例2、解压压缩包中的指定文件到指定目录
tar a.tgz -C $dst a/b/c.txt
其中c.txt在压缩包中。
可以使用tar tzf a.tgz 查看文件列表,其中应该有a/b/c.txt


    
[3]修改linux下磁盘参数的命令
    来源: 互联网  发布时间: 2013-12-24

介绍:
在linux下修改当前磁盘的一些信息,如磁盘的卷标,日志参数等,可能用到下面的一些参数。
这里为大家介绍几个修改磁盘参数的命令,感兴趣的朋友参考下。

1.  mknod
用法:mknod  设备名称   【bcp】【Major】【Minor】
设备种类,
b   :   设置设备名称为外部的外部的存储设备文件      eg:硬盘
c   :   设置设备名称为外部输入设备文件        eg:键盘/鼠标
P   :   设置设备名称为FIFO文件
Major:主要设备名称代码
Minor:次要设备代码

例子:#mknod /dev/hda10   3    10
注:3 和10 只有特殊意义的,不可随意的设置
在linux系统中,所有的设备都是以文件的形式来表示的,也就是通过文件的主 与 次 来表示的,硬盘的主与次如下所示:

硬盘代号    主【Major】   次【Minor】
/dev/sda    3 0~63
/dev/sdb    3 64~127
/dev/sdc     22           0~63
/dev/sdd     2264~127

2.e2label
#e2label   设备名称   新的Label名称
#e2label   /dev/sda1    sda1
#dumpe2fs  -h  /dev/sda1

该命令的主要的主要作用是用来修改“磁盘的表头数据”,即磁盘的卷标。
注意:如果你刚好有两个硬盘,如果你修改了卷标,刚好和另外的有个分区有相同的卷标,系统就无法判断哪个分区是正确的。

3.tune2fs
#tune2fs  【-jlL】    设备号
-j:将ext2的文件系统转换为ext3的文件系统
-l:将超级快内的数据度出来,该功能类似于dumpe2fs  -h的功能
-L:修改文件系统的卷标,类似于e2label的功能

例子:#tune2fs  -l   /dev/sda1
更多的功能请参考man  tune2fs

4.hdparm
如果硬盘有DMA模式的功能,系统却没有启动它,那么,硬盘的读取性能可能会降低一半以上,就可以使用该命令来启动DMA模式的功能。该命令有很多的高级的参数设置值,所以不建议随便的修改,否则容易造成硬盘崩溃,使用这个命令,最多的就是启动DMA功能,并测试硬盘的访问性能就可以了。
#hdparm    【-icdmXTt】 设备名称
-i:将系统启动过程中使用的本身的核心的驱动程序来测试硬盘的测试值取出来,但是这些值不一定是正确的
-d:设置是否启用dma模式,-d1为启动,-d0为取消。


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3