0%

内存性能指标

影响内存的性能指标是内存大小和虚拟空间大小,常见的指标有

  • 空闲内存:linux内核会将大量未使用的内存分配给文件系统来缓存数据,实际空闲内存应该是已用内存扣除用于缓冲和缓存的数量得到的
  • 交换空间使用:表示已使用的交换空间大小,如果Swap In/Out长时间保持在每秒钟超过200~300页,可能存在内存瓶颈

磁盘性能指标

常见的指标有

  • 磁盘IO等待:CPU在等待IO操作时所花费的时间,该值如果持续很高,可能存在IO瓶颈
  • 队列平均长度:IO请求的数量,一般为2~3,过高可能IO存在瓶颈
  • 平均等待时间:IO请求服务所花费的平均时间,等待时间包括IO操作的时间和在IO队列中等待的时间,单位毫秒
  • 每秒钟传输的数量: 表示每秒钟执行了多少次IO操作
  • 每秒钟读写块的数量
  • 每秒钟读写字节的数量

sort命令

shell中还可以使用sort进行排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 以行作为单位
sort [option] [files]

-b:忽略每行前面的空格
-c:检查文件是否已经按照顺序排序
-d:排序时,处理英文字母、数字和空格字符,忽略其他字符
-g: 一般数值,以浮点数字类型比较字段
-f:排序时,将小写字母视为大写字母,也就是忽略大小写
-i:排序时,处理040~176之间的ASCII字符,忽略其他字符
-m:将几个排序好的文件进行合并
-M:将前面3个字母按月份缩写进行排序
-n:按照数值大小进行排序
-o outfile: 将排序后的结果存入outfile文件
-r: 以相反的顺序进行排序
-k:指定需要排序的列数
-t:分隔符,指定排序时用来分隔列的
-u 去重
# 将第二列按照数字大小排列
sort -nk 2 -t: test.txt

# 先以第四列排列,再以第三列排列
sort -t: -k4n -k3n /etc/passwd

awk命令

awk是shell进阶的重要命令,可以用来编排字段

awk把输入流看做一串记录的集合,每条记录都可以进一步细分为字段,一个awk程序是一对以模式和大括号框起来的操作组合而成的,awk每次从文件中读取一条记录

1
2
3
4
5
awk [选项] '条件{动作} 条件{动作}' 文件

-v var=value 设置变量值
-F fs 指定行中划分数据字段的分隔符,默认是空格
-f file 从指定文件中读取程序
1
2
pattern {action} 如模式匹配,则执行操作
pattern {action}
阅读全文 »

查看可支持的shell

linux中支持多种shell类型,所以在shell文件的第一行需要指定所使用的shell

1
#!/bin/bash

虽然#在shell中表示注释,但是第一行是例外的,#后跟!来告诉shell使用哪个shell来执行脚本

指定该脚本使用的是/bin/bash,这样的机制使得我们可以轻松地引用任何的解释器

查看该linux系统支持的shell

1
2
3
4
5
cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

查看默认的shell

1
2
echo $SHELL
/bin/bash