程序员必知必会----linux常用命令之十【系统相关】
一.linux快捷键
Ctrl+C : 终止当前命令
Ctrl+S : 暂停屏幕输出
Ctrl+Q : 恢复屏幕输出
Ctrl+U : 删除当前行光标前的所有字符
Ctrl+Z : 挂起当前正在执行的进程
Ctrl+L : 清除终端屏幕,相当于clear
?
二.终端命令
clear : 清除终端屏幕
reset : 重置视窗,当屏幕编码混乱时使用
time commond : 内部计时器,统计命令执行时间
cal : 查看日历
?
#第一次登录终端的用户
last : 显示当前和过去登录系统的用户相关信息
logname : 显示第一次登录到终端的用户名,su切换的不算
w、who、finger : 显示第一次登录终端的用户信息
?
#当前操作用户
whoami : 显示当前的用户名,su切换后的
id : 显示当前的用户的UID、GID和所属组信息
?
三.系统管理
uname : 显示系统信息,如Linux
arch : 查看处理器架构,如x86_64
uptime : 显示系统运行时间和系统负载
mount -l : 显示已经挂载的文件系统
fdisk -l : 显示磁盘信息
?
?
free -m : 显示内存信息 -m :单位M -g : 单位G
示例:
# free -m
? ? ? ? ? ? ?total ? ? ? used ? ? ? free ? ? shared ? ?buffers ? ? cached
Mem: ? ? ? ? ? 988 ? ? ? ?424 ? ? ? ?563 ? ? ? ? ?0 ? ? ? ? 29 ? ? ? ?227
-/+ buffers/cache: ? ? ? ?167 ? ? ? ?820
Swap: ? ? ? ? 1999 ? ? ? ? ?0 ? ? ? 1999
?
显示说明:
? ? 第一行: total:内存总数
used:已经使用内存数
free:剩余内存数
shared:总是0,已经废弃不用
buffers:从慢速设备或不同优先级设备(块设备)传输数据的缓冲区
cached:高速缓冲区,如vi读写文件的内容,会被缓存到内存
第二行: ?-buffers/cache 167 (used – buffers -cached)
反映的是被系统实际使用掉的内存
+buffers/cache 820 (free + buffers + cacheed)
反映的是可以挪用的内存总数
第三行: ?swap空间的总数,已用空间和可用空间
?
?
vmstat : 显示虚拟内存信息
示例:
# vmstat -S m -n 1 ?#每秒执行一次
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
?r ?b ? swpd ? free ? buff ?cache ? si ? so ? ?bi ? ?bo ? in ? cs us sy id wa st
?0 ?0 ? ? ?0 ? ?590 ? ? 30 ? ?238 ? ?0 ? ?0 ? ?52 ? ? 6 ? 28 ? 25 ?0 ?0 99 ?1 ?0
?0 ?0 ? ? ?0 ? ?590 ? ? 30 ? ?238 ? ?0 ? ?0 ? ? 0 ? ? 0 ? 54 ? 40 ?0 ?0 100 ?0 ?0
?0 ?0 ? ? ?0 ? ?590 ? ? 30 ? ?238 ? ?0 ? ?0 ? ? 0 ? ? 0 ? 31 ? 41 ?0 ?0 100 ?0 ?0
?0 ?0 ? ? ?0 ? ?590 ? ? 30 ? ?238 ? ?0 ? ?0 ? ? 0 ? ? 0 ? 35 ? 55 ?0 ?0 100 ?0 ?0
?
显示说明:
procs: ?r ?在运行队列等待的进程数
? ? b 在等待io的进程数
memory: swapd 虚拟内存使用情况
? ? free空闲的内存
? ? buff被用来做为缓冲的内存数
? ? cache被用来做为缓存的内存数
swap: ? si从磁盘交换到内存的交换页数量
? ? so从内存交换到磁盘的交换页数量
io: ? ? bi发送到块设备的块数
? ? ? ? bo从块设备接受到的块数
system: in 每秒CPU的中断数,包括时钟中断
? ? cs每秒的环境(上下文)切换次数
cpu: ? ?us用户CPU时间
sy系统CPU时间
id空闲CPU时间,一般来说us+sy+id=100
wt等待IO 所消耗cpu时间
st在vm中所消耗的时间
?
vmstat ?-m查看内存分配信息
vmstat ?-p /dev/sda1查看磁盘的读写
vmstat ?-d查看全部磁盘的读写
-t显示时间
-S ?k,K,m,M指定显示单位
-n 1 10显示周期,每隔1秒显示,供显示10次
?
清理页面缓存:
echo 1 > /proc/sys/vm/drop_caches
清理索引节点(inodb)链接:
echo 2 > /proc/sys/vm/drop_caches
清理页面缓存+索引节点链接
echo 3 > /proc/sys/vm/drop_caches
?
?
?
iostat : 显示CPU的磁盘统计信息
示例:
# iostat -d -k 1
Linux 2.6.32-431.1.2.0.1.el6.x86_64 (vm-centos6.5) ? ? ?2014年01月22日 ?_x86_64_ ? ? ? ?(4 CPU)
?
Device: ? ? ? ? ? ?tps ? ?kB_read/s ? ?kB_wrtn/s ? ?kB_read ? ?kB_wrtn
sda ? ? ? ? ? ? ? 5.74 ? ? ? 160.93 ? ? ? ?21.92 ? ? 260305 ? ? ?35460
sdb ? ? ? ? ? ? ? 0.69 ? ? ? ? 2.49 ? ? ? ? 0.03 ? ? ? 4024 ? ? ? ? 40
?
显示说明:
iostat -d -k 1 10
? ? -d显示磁盘使用状态
? ? -x显示更多的信息
-k / -m以kB 或者mb为单位进行显示 默认是byte
1 10每隔1秒显示一次,共显示10次
?
tps:IOPS,该设备每秒的传输次数(多少次IO)
kB_read/s:每秒从设备读取的数据量
kB_wrtn/s:每秒向设备写入的数据量
kB_read:读取的总数据量
kB_wrtn:写入的总数据量
?
iotop : 查看进程的io消耗
示例:
# iotop -o -n10 -d1
Total DISK READ: 0.00 B/s | Total DISK WRITE: 31.47 K/s
? TID ?PRIO ?USER ? ? DISK READ ?DISK WRITE ?SWAPIN ? ? IO> ? ?COMMAND ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? 335 be/3 root ? ? ? ?0.00 B/s ? 23.60 K/s ?0.00 % ?0.13 % [jbd2/sda2-8]
?
显示说明:
-o只显示有IO读写的程序
-n设定循环几次
-d SEC设定显示时间间隔
?
TOTAL: DISK READ:磁盘每秒读取大小
? ? ? ?DISK WRITE:磁盘每秒写入大小
?
IO>:IO读写百分百
COMMAND:产生IO请求的进程
?
?
?
?
?