1. 通过检测系统,可以获取一些基准数据,进行分析,根据不同的业务特点系统不同组件的压力,可以有cpu密集型,内存密集型,网络吞吐密集性型,io密集型
  2. 一  系统检测工具
  3. Free,Top,ps,Vmstat,Sysstat
  4. 二 Free工具的使用:用来查看linux系统中内存和缓存的状态
  5. [root@hky-linux1 ~]# free
  6. total       used       free     shared    buffers     cached
  7. Mem:        275756     208948      66808          0      16260     125608
  8. -/+ buffers/cache:      67080     208676
  9. Swap:      1028120          0    1028120
  10. Total:物理内存总数
  11. Used:总计分配给缓存使用的数量,其中部分缓存可能未被实际使用
  12. Free:未被分配的内存数量,还有多少可用
  13. Shared:多个进程共享的内存总额
  14. Buffers :是在内存中准备写入磁盘的缓冲区,实现一次性批量写入,避免频繁写入
  15. Cached:是从磁盘中读取的内容在内存中的缓存,为后续读取提供一种快速的访问方式
  16. Mem(第二行):针对os的,buffers和cached都是被使用的,所以tatal=used+free
  17. [root@hky-linux1 ~]# echo $[208948+66808]
  18. 275756
  19. -/+ buffers/cached:
  20. -buffers/cached:被程序实实在在吃掉的内存
  21. + buffers/cached:可以挪用的内存
  22. 所以total=used3+free3
  23. [root@hky-linux1 ~]# echo $[208676+67080]
  24. 275756
  25. Used2= buffers2+cached2+used3
  26. [root@hky-linux1 ~]# echo $[16260+125608+67080]
  27. 208948
  28. Free3=buffers2+cached2+free2
  29. [root@hky-linux1 ~]# echo $[16260+125608+66808]
  30. 208676
  31. 不做清除操作:0
  32. 清除pagecache:1
  33. 清除dentires和inodes:2
  34. 清除dentires和inodes和pagecache:3
  35. 清除缓存操作方法
  36. 这里不得不介绍一下proc
  37. Proc是一个虚拟文件系统是用户和内核之间实现通信的一种手段
  38. “取值”不做清除操作:0
  39. 清除pagecache:1
  40. 清除dentires和inodes:2
  41. 清除dentires和inodes和pagecache:3、
  42. Proc里的文件不能直接vi编辑,可以通过如下方法编辑
  43. Echo [0,1,2,3] >/proc/sys/vm/drop_caches/
  44. 下面是我使用proc的实例
  45. [root@hky vm]# free
  46. total       used       free     shared    buffers     cached
  47. Mem:        255412     143964     111448    0        684      37396
  48. -/+ buffers/cache:     105884     149528
  49. Swap:      1020116          0    1020116
  50. echo 1 > /proc/sys/vm/drop_caches
  51. [root@hky vm]# free
  52. total       used       free     shared    buffers     cached
  53. Mem:        255412     142912     112500    0        204      36788
  54. -/+ buffers/cache:     105920     149492
  55. Swap:      1020116          0    1020116
  56. Buffer明显变小
  57. echo 2 > /proc/sys/vm/drop_caches
  58. [root@hky vm]# free
  59. total       used       free     shared    buffers     cached
  60. Mem:        255412     143548     111864      0        588      37164
  61. -/+ buffers/cache:     105796     149616
  62. Swap:      1020116          0    1020116
  63. 因为2不清除脏页,所以buffer有所上升
  64. echo 3 > /proc/sys/vm/drop_caches
  65. [root@hky vm]# free
  66. total       used       free     shared    buffers     cached
  67. Mem:        255412     142808     112604          0        132      36768
  68. -/+ buffers/cache:     105908     149504
  69. Swap:      1020116          0    1020116
  70. 看见没3效果最好
  71. 注意:
  72. 在执行清除缓存之前,必须手动执行sync
  73. 1 sync命令
  74. 运行sync子进程,将所有未写的系统缓冲区写入到磁盘中,包含已经修改的inode,保证文件系统的完整性
  75. 2 sysnc在修改drop_caches的值,可以清除磁盘缓存,释放内存,得出真实的磁盘io
  76. 3 清除磁盘缓存的另外一种方法就是执行sync后umount掉对应的磁盘分区设备
  77. [root@hky-linux1 ~]# free;sync;free
  78. total       used       free     shared    buffers     cached
  79. Mem:        275756     209728      66028    0      16928     125616
  80. -/+ buffers/cache:      67184     208572
  81. Swap:      1028120          0    1028120
  82. total       used       free     shared    buffers     cached
  83. Mem:        275756     209756      66000   0      16936     125608
  84. -/+ buffers/cache:      67212     208544
  85. Swap:      1028120          0    1028120
  86. [root@hky-linux1 ~]# echo "3" > /proc/sys/vm/drop_caches
  87. [root@hky-linux1 ~]# free
  88. total       used       free     shared    buffers     cached
  89. Mem:        275756      83112     192644    0        200      19680
  90. -/+ buffers/cache:      63232     212524
  91. Swap:      1028120          0    1028120
  92. 新命令:Last | more   //查看都有哪些用户登录
  93. Top  –d  1  –n  1 > file
  94. Strings file
  95. 举例看看缓存的作用
  96. [root@hky vm]# time find / >/dev/null
  97. real    2m9.407s
  98. user    0m0.231s
  99. sys     0m7.445s
  100. 用时2分钟多
  101. Free
  102. [root@hky vm]# free
  103. total       used       free     shared    buffers     cached
  104. Mem:        255412     231016      24396     0      77620      37452
  105. -/+ buffers/cache:     115944     139468
  106. Swap:      1020116          0    1020116
  107. Cached变的很大
  108. 现在重复执行
  109. [root@hky vm]# time find / >/dev/null
  110. real    0m2.538s
  111. user    0m0.445s
  112. sys     0m1.092s
  113. 用时两秒;
  114. echo "3" > /proc/sys/vm/drop_caches
  115. [root@hky vm]# free
  116. total       used       free     shared    buffers     cached
  117. Mem:        255412     144052     111360          0        188      36800
  118. -/+ buffers/cache:     107064     148348
  119. Swap:      1020116          0    1020116
  120. [root@hky vm]# time find / >/dev/null
  121. real    1m29.158s
  122. user    0m0.195s
  123. sys     0m5.109s
  124. Free命令有用的参数:
  125. 引用
  126. ·-b,-k,-m和-g分别按照bytes, kilobytes, megabytes, gigabytes显示结果。
  127. ·-l区别显示low和high内存
  128. ·-s 每隔若干秒刷新一次
  129. 三 Vmstat
  130. vmstat命令是显示Linux性能指标的方法,输出分为6个类别:进程、内存、交换区、I/O、系统和CPU
  131. [root@hky-linux1 ~]# vmstat
  132. 进程        内存         交换分区  io     系统      cpu
  133. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----     -
  134. r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs   us  sy id   wa st
  135. 0  0    0    190212 872  21760    0    0    42   14  1043  106  1  1  97  1  0
  136. 进程:
  137. r列是可运行进程的数量,长期大于1,cpu不足,当业务繁忙时,不超过两倍的cpu数量,也算正常,r越大,系统越繁忙
  138. b列是阻塞进程的数量:正常小为0
  139. 内存:Swpd:已用的交换空间数量
  140. Free:尚未分配的内存
  141. Buff:缓冲使用的内存,对块设备读写才需要缓冲
  142. Cache:文件系统缓存使用的,
  143. Swap:si和so为0是正常的
  144. Si:从交换区到内存的数量
  145. So:从内存到交换区的数量
  146. I/O
  147. Bi:从磁盘读去的块数,数量越大,表示读取的越频繁
  148. Bo:每秒写入到磁盘的块数。数量越大,磁盘活动率越高
  149. System
  150. In:系统中断
  151. Cs:进程上下文开关
  152. Cpu
  153. Us:用户进程消耗—值比较高,则用户进程消耗cpu时间太长,长期大于50%,考虑优化用户程序,持续大于50,业务高峰期算是正常
  154. Sy:内核进程消耗—us+sy大于80%,则cpu不足
  155. Wa:I/O进程消耗的cpu,超过30%,可能由磁盘大量随即访问造成
  156. Id:空闲,持续小于50,服务高峰期可以接受
  157. [root@hky-linux1 ~]# vmstat 2 5    //每两秒查看一次,查看五次
  158. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
  159. r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
  160. 0  0      0 127740  21412  54752    0    0    42    13 1041  105  0  1 97  1  0
  161. 0  0      0 127500  21412  54752    0    0     0     0 1015  105  1  3 96  0  0
  162. 0  0      0 127500  21412  54752    0    0     0     0 1015   93  0  0 100  0  0
  163. 0  0      0 127560  21420  54752    0    0     0    34 1015   94  0  1 99  0  0
  164. 0  0      0 127560  21420  54752    0    0     0     0 1014   93  0  1 99  0  0
  165. 现在测试一下查看5次,每次2秒用多少时间
  166. [root@hky ~]# time vmstat 2 5
  167. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
  168. r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
  169. 0  0    116  18784  32052  88552    0    0    49    20  710  119  2  4 91  3  0
  170. 0  0    116  18784  32052  88552    0    0     0     0  609   62  0  1 99  0  0
  171. 0  0    116  18784  32052  88552    0    0     0    44  627   71  0  0 100  0  0
  172. 0  0    116  18784  32068  88552    0    0     0    24  624   79  0  1 97  2  0
  173. 0  0    116  18784  32068  88552    0    0     0     0  614   71  0  0 100  0  0
  174. real    0m8.016s
  175. user    0m0.002s
  176. sys     0m0.003s
  177. 用时8秒,因为第一次不要时间
  178. 这里有一个时间函数需要掌握
  179. [root@hky ~]# ceshi=$(date +%s.%N);vmstat 2 3;hky=$(date +%s.%N); awk -v ceshi=${ceshi} -v hky=${hky} 'BEGIN {print hky-ceshi}'
  180. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
  181. r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
  182. 0  0    116  14580  34872  89084    0    0    46    19  706  117  1  4 92  3  0
  183. 0  0    116  14580  34880  89076    0    0     0    18  596   76  0  1 99  0  0
  184. 0  0    116  14580  34880  89088    0    0     0     0  589   67  0  0 100  0  0
  185. 4.01254
  186. 大家自己理解
  187. Vmstat-a  看出内存使用的和未使用的
  188. [root@hky ~]# vmstat -a
  189. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
  190. r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
  191. 0  0    116  14400  70408 143008    0    0    46    19  706  117  1  4 92  3  0
  192. Vmstat –d : 硬盘读写情况
  193. [root@hky ~]# vmstat -d
  194. disk- ------------reads------------ ------------writes----------- -----IO------
  195. total merged sectors      ms  total merged sectors      ms    cur    sec
  196. ram0       0      0       0       0      0      0       0       0      0      0
  197. ram1       0      0       0       0      0      0       0       0      0      0
  198. ram2       0      0       0       0      0      0       0       0      0      0
  199. ram3       0      0       0       0      0      0       0       0      0      0
  200. ram4       0      0       0       0      0      0       0       0      0      0
  201. ram5       0      0       0       0      0      0       0       0      0      0
  202. ram6       0      0       0       0      0      0       0       0      0      0
  203. ram7       0      0       0       0      0      0       0       0      0      0
  204. ram8       0      0       0       0      0      0       0       0      0      0
  205. ram9       0      0       0       0      0      0       0       0      0      0
  206. ram10      0      0       0       0      0      0       0       0      0      0
  207. ram11      0      0       0       0      0      0       0       0      0      0
  208. ram12      0      0       0       0      0      0       0       0      0      0
  209. ram13      0      0       0       0      0      0       0       0      0      0
  210. ram14      0      0       0       0      0      0       0       0      0      0
  211. ram15      0      0       0       0      0      0       0       0      0      0
  212. sda    90558  27351 1569858  606361  25774  55985  653314  776684      0    512
  213. sdb      115    464    2272     229     30     20     100     299      0      0
  214. hdc      701     10    2920     310      0      0       0       0      0      0
  215. fd0        0      0       0       0      0      0       0       0      0      0
  216. disk- ------------reads------------ ------------writes----------- -----IO------
  217. total merged sectors      ms  total merged sectors      ms    cur    sec
  218. md0        0      0       0       0      0      0       0       0      0      0
  219. loop0      0      0       0       0      0      0       0       0      0      0
  220. loop1      0      0       0       0      0      0       0       0      0      0
  221. loop2      0      0       0       0      0      0       0       0      0      0
  222. loop3      0      0       0       0      0      0       0       0      0      0
  223. loop4      0      0       0       0      0      0       0       0      0      0
  224. loop5      0      0       0       0      0      0       0       0      0      0
  225. loop6      0      0       0       0      0      0       0       0      0      0
  226. loop7      0      0       0       0      0      0       0       0      0      0
  227. Vmstat –p /dev/sdb2  1 某一块盘的读写情况
  228. 四 Sysstay工具
  229. Iostat /sar /mpstat 三个工具都来自Sysstay包
  230. 安装sysstat很简单
  231. [root@hky-linux1 sysstat]# rpm -ivh sysstat-9.0.6.1-3.i386.rpm-----安装
  232. Sar收集器 /var/log/sa
  233. 修改配置文件
  234. [root@hky-linux1 ~]# vi /etc/cron.d/sysstat
  235. # Run system activity accounting tool every 10 minutes
  236. */10 * * * * root /usr/lib/sa/sa1 -S DISK 10  60
  237. # 0 * * * * root /usr/lib/sa/sa1 -S DISK 600 6 &
  238. # Generate a daily summary of process accounting at 23:53
  239. 59 23 * * * root /usr/lib/sa/sa2 –A
  240. [root@hky-linux1 ~]# vi /etc/sysconfig/sysstat
  241. # sysstat-9.0.6.1 configuration file.
  242. # How long to keep log files (in days).
  243. # If value is greater than 28, then log files are kept in
  244. # multiple directories, one for each month.
  245. HISTORY=7000
  246. # Compress (using gzip or bzip2) sa and sar files older than (in days):
  247. COMPRESSAFTER=3
  248. 统计cpu信息
  249. [root@hky-linux1 ~]# sar -u
  250. Linux 2.6.18-53.el5 (hky-linux1)        07/01/2010      _i686_  (1 CPU)
  251. 06:30:02 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
  252. 06:40:01 AM     all      0.04      0.00      0.48      0.13      0.00     99.35
  253. 06:50:01 AM     all      0.05      0.00      0.50      0.15      0.00     99.30
  254. 07:00:01 AM     all      0.05      0.00      0.60      0.46      0.00     98.90
  255. 07:10:01 AM     all      0.09      0.00      0.65      0.51      0.00     98.76
  256. 07:20:01 AM     all      0.04      0.20      1.59      4.55      0.00     93.63
  257. 07:30:01 AM     all      0.06      0.00      0.57      0.28      0.00     99.08
  258. Average:        all      0.05      0.03      0.73      1.01      0.00     98.17
  259. Cpu
  260. All: 表示统计信息为所有 CPU 的平均值
  261. %user:用户运行进程所花的时间
  262. %nice:运行正常进程所花的时间
  263. %system:在内核模式中运行进程所花的时间
  264. %iowait:没有进程在该CPU上执行时,处理器等待I/O完成的时间
  265. %steal 管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比
  266. %idle:没有进程在该CPU上执行的时间
  267. 查看报告
  268. [root@hky-linux1 sa]# sar -f /var/log/sa/sa01
  269. Linux 2.6.18-53.el5 (hky-linux1)        07/01/2010      _i686_  (1 CPU)
  270. 06:30:02 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
  271. 06:40:01 AM     all      0.04      0.00      0.48      0.13      0.00     99.35
  272. 06:50:01 AM     all      0.05      0.00      0.50      0.15      0.00     99.30
  273. 07:00:01 AM     all      0.05      0.00      0.60      0.46      0.00     98.90
  274. 在多cpu的系统中,查看分解的cpu信息
  275. [root@hky-linux1 sa]# sar -u -P ALL 5 5
  276. Linux 2.6.18-53.el5 (hky-linux1)        07/01/2010      _i686_  (1 CPU)
  277. 07:38:51 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
  278. 07:38:56 AM     all      0.00      0.00      0.80      0.00      0.00     99.20
  279. 07:38:56 AM       0      0.00      0.00      0.80      0.00      0.00     99.20
  280. 磁盘io数据统计
  281. [root@hky-linux1 ~]# sar -d 5 2
  282. Linux 2.6.18-53.el5 (hky-linux1)        07/01/2010      _i686_  (1 CPU)
  283. 07:40:36 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
  284. 07:40:41 AM    dev8-0      0.00      0.00      0.00      0.00      0.01      0.00      0.00      0.54
  285. 07:40:41 AM   dev8-16      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
  286. 07:40:41 AM   dev8-32      0.00      0.00      0.00      0.00      0.00      0.00
  287. DEV:磁盘设备
  288. Tps:每秒传输数
  289. rd_sec/s:每秒xx字节读取数
  290. wr_sec/s:每秒xx字节写入数
  291. 显示io和传送速率的信息
  292. [root@hky-linux1 ~]# sar -b 5 3
  293. Linux 2.6.18-53.el5 (hky-linux1)        07/01/2010      _i686_  (1 CPU)
  294. 07:53:25 AM       tps      rtps      wtps   bread/s   bwrtn/s
  295. 07:53:30 AM      0.00      0.00      0.00      0.00      0.00
  296. 07:53:35 AM      1.00      0.00      1.00      0.00     25.60
  297. 07:53:40 AM      0.00      0.00      0.00      0.00      0.00
  298. Average:         0.33      0.00      0.33      0.00      8.54
  299. tps 每秒钟物理设备的 I/O 传输总量
  300. rtps 每秒钟从物理设备读入的数据总量
  301. wtps 每秒钟向物理设备写入的数据总量
  302. bread/s 每秒钟从物理设备读入的数据量,单位为 块/s
  303. bwrtn/s 每秒钟向物理设备写入的数据量,单位为 块/s
  304. 显示内存页面统计
  305. [root@hky-linux1 ~]# sar -B 5
  306. Linux 2.6.18-53.el5 (hky-linux1)        07/01/2010      _i686_  (1 CPU)
  307. 07:55:26 AM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
  308. 07:55:31 AM      0.00      8.02     15.83      0.00     15.63      0.00      0.00      0.00      0.00
  309. 07:55:36 AM      0.00      6.45     11.69      0.00     25.20      0.00      0.00      0.00      0.00
  310. pgpgin/s 每秒钟从磁盘读入的系统页面的 KB 总数
  311. pgpgout/s 每秒钟向磁盘写出的系统页面的 KB 总数
  312. fault/s 系统每秒产生的页面失效(major + minor)数量
  313. majflt/s 系统每秒产生的页面失效(major)数量
  314. 每秒创建的进程数的进程统计
  315. [root@hky-linux1 ~]# sar -C 5 3
  316. Linux 2.6.18-53.el5 (hky-linux1)        07/01/2010      _i686_  (1 CPU)
  317. 07:57:12 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
  318. 07:57:17 AM     all      0.21      0.00      2.06      0.82      0.00     96.91
  319. 07:57:22 AM     all      0.00      0.00      0.60      0.20      0.00     99.19
  320. 网络信息统计
  321. [root@hky-linux1 ~]# sar -n DEV 5 3 |grep eth0
  322. 07:58:22 AM      eth0      0.40      0.20      0.02      0.01      0.00      0.00      0.00
  323. 07:58:27 AM      eth0      0.20      0.20      0.01      0.04      0.00      0.00      0.00
  324. [root@hky-linux1 ~]# sar -n DEV 5 3
  325. Linux 2.6.18-53.el5 (hky-linux1)        07/01/2010      _i686_  (1 CPU)
  326. 07:45:44 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
  327. 07:45:49 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
  328. 07:45:49 AM      eth0      0.20      0.20      0.01      0.03      0.00      0.00      0.00
  329. 07:45:49 AM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
  330. IFACE:LAN接口
  331. rxpck/s:每秒钟接收的数据包
  332. txpck/s:每秒钟发送的数据包
  333. rxbyt/s:每秒钟接收的字节数
  334. txbyt/s:每秒钟发送的字节数
  335. rxcmp/s:每秒钟接收的压缩数据包
  336. txcmp/s:每秒钟发送的压缩数据包
  337. rxmcst/s:每秒钟接收的多播数据包
  338. 网络错误信息统计
  339. [root@hky-linux1 ~]# sar -n EDEV 5 3
  340. Linux 2.6.18-53.el5 (hky-linux1)        07/01/2010      _i686_  (1 CPU)
  341. 07:48:24 AM     IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/
  342. 07:48:29 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
  343. 07:48:29 AM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
  344. 07:48:29 AM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
  345. [root@hky-linux1 ~]# sar -n EDEV 5 |egrep 'eth0|IFACE'
  346. 07:59:16 AM     IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
  347. 07:59:21 AM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
  348. IFACE:LAN接口
  349. rxerr/s:每秒钟接收的坏数据包
  350. txerr/s:每秒钟发送的坏数据包
  351. coll/s:每秒冲突数
  352. rxdrop/s:因为缓冲充满,每秒钟丢弃的已接收数据包数
  353. txdrop/s:因为缓冲充满,每秒钟丢弃的已发送数据包数
  354. txcarr/s:发送数据包时,每秒载波错误数
  355. rxfram/s:每秒接收数据包的帧对齐错误数
  356. rxfifo/s:接收的数据包每秒FIFO过速的错误数
  357. txfifo/s:发送的数据包每秒FIFO过速的错误数
  358. dstat工具,可以做更多的信息采集
  359. 安装
  360. [root@hky-linux1 Server]# rpm -ivh dstat-0.6.6-3.el5_4.1.noarch.rpm
  361. warning: dstat-0.6.6-3.el5_4.1.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
  362. Preparing...                ########################################### [100%]
  363. 1:dstat                  ########################################### [100%]
  364. 执行 dstat 命令,默认情况它会收集-cpu-、-disk-、-net-、-paging-、-system-的数据,一秒钟收集一次
  365. 语法结构:dstat [-afv] [options..] [delay [count]]
  366. Dstat  -c 检测cpu的情况
  367. [root@hky-linux1 ~]# dstat -c
  368. ----total-cpu-usage----
  369. usr sys idl wai hiq siq
  370. 2   4  90   4   0   0
  371. 0   0 100   0   0   0
  372. 0   0 100   0   0   0
  373. Dstat  -d 检测硬盘读写情况
  374. [root@hky-linux1 ~]# dstat -d
  375. -dsk/total-
  376. read  writ
  377. 212k   47k
  378. 0     0
  379. 0     0
  380. 0           184k
  381. Dstat  -m检测内存使用情况
  382. [root@hky-linux1 ~]# dstat -m
  383. ------memory-usage-----
  384. used  buff  cach  free
  385. 69M   30M  120M   50M
  386. 69M   30M  120M   50M
  387. 69M   30M  120M   50M
  388. 69M   30M  120M   50M
  389. Dstat  -n 检测网络使用状况
  390. [root@hky-linux1 ~]# dstat -n
  391. -net/total-
  392. recv  send
  393. 0     0
  394. 60B  138B
  395. 60B  154B
  396. [root@hky-linux1 ~]# dstat -N eth0,total
  397. Terminal width too small, trimming output.
  398. ----total-cpu-usage---- -dsk/total- --net/eth0---net/total- ---paging-->
  399. usr sys idl wai hiq siq| read  writ| recv  send: recv  send|  in   out >
  400. 1   2  93   3   0   0| 140k   36k|   0     0 :   0     0 |   0     0 >
  401. 0   0 100   0   0   0|   0     0 |  60B  314B:  60B  314B|   0     0 >
  402. 0   0  99   0   0   1|   0     0 |  60B  314B:  60B  314B|   0     0 >
  403. [root@hky-linux1 ~]#  dstat -dnyc -N eth0 -C total -f 5
  404. Terminal width too small, trimming output.
  405. --dsk/hda-----dsk/sda-----dsk/sdb-----dsk/sdc-- --net/eth0- ---system-->
  406. read  writ: read  writ: read  writ: read  writ| recv  send| int   csw >
  407. 537B    0 : 116k   32k:1252B    0 :1354B    0 |   0     0 |1017   112 >
  408. 0     0 :   0     0 :   0     0 :   0     0 |  60B  314B|1005    79 >
  409. [root@hky-linux1 ~]#  dstat -M time,cpu,net,disk,sys,load,proc,app
  410. Terminal width too small, trimming output.
  411. -----time----- ----total-cpu-usage---- -net/total- -dsk/total- ---system-->
  412. date/time   |usr sys idl wai hiq siq| recv  send| read  writ| int   csw >
  413. 04-07 01:03:00|  1   2  94   2   0   0|   0     0 | 113k   31k|1016   111 >
  414. 04-07 01:03:01|  0   3  96   1   0   0|  60B  420B|   0     0 |1008    94 >
  415. 04-07 01:03:02|  1   1  96   2   0   0|  60B  420B|   0   380k|1036    82 >
  416. ………………………..
  417. [root@hky-linux1 ~]# man dstat
  418. Iptraf的使用:流量监控工具
  419. 安装
  420. Yum –y install iptraf
  421. [root@hky-linux1 ~]# iptraf -d eth0  //检测eth0 in和out的数据包
  422. 掌握tcpdump的使用
  423. [root@hky-linux1 ~]# tcpdump -nn -vv dst net 192.168.1.0/24 and not port 22
  424. [root@hky-linux1 ~]# tcpdump  -nn -vv -i eth0 icmp
  425. tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
  426. 01:37:31.691978 IP (tos 0x0, ttl 128, id 10925, offset 0, flags [none], proto: ICMP (1), length: 60) 192.168.1.101 > 192.168.1.6: ICMP echo request, id 1, seq 5338, length 40
  427. 01:37:31.692256 IP (tos 0x0, ttl  64, id 34721, offset 0, flags [none], proto: ICMP (1), length: 60) 192.168.1.6 > 192.168.1.101: ICMP echo reply, id 1, seq 5338, length 40
  428. Strace工具:跟踪程式执行时的系统调用和所接收的信号
  429. [root@hky-linux1 ~]# man strace
  430. STRACE(1)                                                            STRACE(1)
  431. NAME
  432. strace - trace system calls and signals
  433. SYNOPSIS
  434. strace  [  -dffhiqrtttTvxx  ] [ -acolumn ] [ -eexpr ] ...  [ -ofile ] [
  435. -ppid ] ...  [ -sstrsize ] [ -uusername ] [ -Evar=val ] ...  [ -Evar  ]
  436. ...  [ command [ arg ...  ] ]
  437. strace  -c  [ -eexpr ] ...  [ -Ooverhead ] [ -Ssortby ] [ command [ arg
  438. ...  ] ]
  439. 参数:
  440. -c 统计每一系统调用的所执行的时间,次数和出错的次数等
  441. [root@hky-linux1 ~]# strace -c pwd
  442. /root
  443. % time     seconds  usecs/call     calls    errors syscall
  444. ------ ----------- ----------- --------- --------- ----------------
  445. 66.08    0.000596         596         1           execve
  446. 14.86    0.000134          17         8           mmap2
  447. 6.76    0.000061          20         3           brk
  448. 6.76    0.000061          31         2           fcntl64
  449. 5.54    0.000050          25         2           munmap
  450. 0.00    0.000000           0         1           read
  451. 0.00    0.000000           0         1           write
  452. 0.00    0.000000           0         3           open
  453. 0.00    0.000000           0         5           close
  454. 0.00    0.000000           0         1         1 access
  455. 0.00    0.000000           0         2           mprotect
  456. 0.00    0.000000           0         2           lstat64
  457. 0.00    0.000000           0         6           fstat64
  458. 0.00    0.000000           0         1           getdents64
  459. 0.00    0.000000           0         1           set_thread_area
  460. 0.00    0.000000           0         1           openat
  461. 0.00    0.000000           0         1           fstatat64
  462. ------ ----------- ----------- --------- --------- ----------------
  463. 100.00    0.000902                    41         1 total
  464. -d 输出strace关于标准错误的调试信息
  465. -f 跟踪由fork调用所产生的子进程
  466. -ff 如果提供-o filename,则所有进程的跟踪结果输出到相应的filename.pid中,pid是各进程的进程号
  467. -F 尝试跟踪vfork调用.在-f时,vfork不被跟踪
  468. -h 输出简要的帮助信息
  469. -i 输出系统调用的入口指针
  470. -q 禁止输出关于脱离的消息
  471. -r 打印出相对时间关于,,每一个系统调用
  472. -t 在输出中的每一行前加上时间信息
  473. -tt 在输出中的每一行前加上时间信息,微秒级
  474. -ttt 微秒级输出,以秒了表示时间
  475. -T 显示每一调用所耗的时
  476. -v 输出所有的系统调用.一些调用关于环境变量,状态,输入输出等调用由于使用频繁,默认不输出
  477. -V 输出strace的版本信息
  478. -x 以十六进制形式输出非标准字符串
  479. -xx 所有字符串以十六进制形式输出
  480. -a column
  481. 五 制造系统压力
  482. [root@hky-linux1 ~]#  S=1000; echo "scale=${S}; 4*a(1)" | bc -l -q
  483. Vmstat的一个脚本
  484. [root@hky-linux1 ~]# vmstat 1 2 | grep -v sw | awk '{print $0; for (i=1;i<=NF;i++){r[i]+=$i}}END {for(i=1;i<=NF;i++){printf"%d",r[i]/NR;printf("\n")}}'

转载于:https://blog.51cto.com/lya041/685378

Linux系统检测工具相关推荐

  1. Linux系统检测工具 三(Free,Top,ps,Vmstat,Sysstat)

    dstat工具,可以做更多的信息采集 安装 [root@hky-linux1 Server]# rpm -ivh dstat-0.6.6-3.el5_4.1.noarch.rpm warning: d ...

  2. Linux 系统检测工具

    讨论一些最常用的工具:tcpdump nc strace lsof netstat vmstat ifstat 和mpstat ! 1. tcpdump tcpdump表达式的操作数分为三种: 类型 ...

  3. Linux系统检测命令有哪些

    2019独角兽企业重金招聘Python工程师标准>>> Linux系统检测命令有哪些 | 浏览:44 | 更新:2015-02-02 10:16 | 标签:linux top:一个命 ...

  4. [Linux 性能检测工具]IOSTAT

    [Linux 性能检测工具]IOSTAT IOSTAT NAME:          Iostat, 报告CPU的统计,和 I/O的统计. 语法: iostat  [ -c ] [ -d ] [ -N ...

  5. 硬盘检测工具+linux,linux硬盘检测工具:Smartmontools使用指南

    linux硬盘检测工具:Smartmontools使用指南 来源:互联网 作者:佚名 时间:2013-04-10 13:32 在服务器管理的实际环境中,硬盘是最容易出现问题及发生故障的硬件,而且硬盘中 ...

  6. 如何在linux系统中还原系统版本,系统还原也简单 常用Linux系统还原工具推荐

    据调查发现,一直以来,计算机用户都会被电脑死机.硬盘崩溃和内存芯片损耗过量等问题困扰,而最好的解决方式便是系统还原."系统还原"的目的是在不需要重新安装操作系统,也不会破坏数据文件 ...

  7. linux防病毒检测,ddos防护:Linux恶意软件检测工具-墨者安全-墨者盾

    ddos防护:Linux恶意软件检测工具 Linux恶意软件检测工具(LMD)是一个GNU GPLv2许可下发布的Linux恶意软件扫描器,其设计理念是是针对在共享主机环境中所面临的威胁.它使用来自网 ...

  8. Linux 系统mock工具使用

    文章目录 Linux 系统mock工具使用 搭建本地mock 新建用户 mockbuilder 使用mock配置文件来进行编译 使用chroot的方法进行编译 Linux 系统mock工具使用 搭建本 ...

  9. [Linux 性能检测工具]DF

    [Linux 性能检测工具]DF DF NAME: df 报告了文件系统的使用 语法: df [OPTION]... [FILE]... 描述: Df显示了以文件名为从参数查看所在文件系统的可用空间. ...

最新文章

  1. 华昊中天获国投创业等机构数亿元投资,专注抗肿瘤小分子化学药物研发...
  2. linux系统怎么用vim,linux/unix
  3. 零基础如何高效学好Java?Java怎么学?
  4. 信息系html5论文,基于HTML5的智力游戏设计电子信息工程本科学生毕业论文.doc
  5. 测试驱动开发 测试前移_测试驱动开发:它是什么,什么不是。
  6. 作为后端开发如何设计数据库系列文章 设计SaaS系统表结构
  7. Visual Studio Code 11 月 Python 扩展更新
  8. IOS学习笔记07---C语言函数-scanf函数
  9. PAT乙级1003我要通过!
  10. centos crontab环境变量问题
  11. Hive数据倾斜解决方法总结
  12. PHP Opcache(ZendOptimizerPlus)的安装配置详解
  13. hydra-字典暴力破解
  14. 专家建议|2022内容运营的5大SEO错误以及如何避免
  15. 【论文阅读】Advances and challenges in conversational recommender systems: A survey
  16. Python视频处理(3)——提取视频字幕
  17. Java实现批量修改文件名
  18. Delphi数据库处理(感谢:neverdeath)
  19. JS 逆向之 Hook
  20. Nginx实现多虚拟主机配置

热门文章

  1. 键盘各种按键对应的ASII码
  2. 利用原生写js满天星星
  3. linux进程cpu时间片,Linux性能监控之CPU篇
  4. 官宣!等你来赛,2022 第二届 STM32 Hackathon 挑战赛海选开放报名!
  5. 渗透测试实战指南笔记
  6. Windows Kits(Windows 工具包)
  7. 微信公众号开发 入手
  8. 鹏哥手把手带我刷好题 · 编程练习 · I
  9. 软件如何进行压力测试,软件如何进行压力测试?
  10. 批量安装/卸载/fore-stop apk的脚本