查看目录/文件使用磁盘空间的大小 du
du [参数] [文件或目录]
-a 所有文件包含子目录
-b 输出结果以bytes为单位
-c 只计算目录的总用量
-h 以1024进制进行单位换算
-s 只显示目录使用空间的总和
--inodes 查看所用i节点数量
查看当前目录文件大小
.代表当前目录 ..上级目录
也可以指定目录
计算目录的总用量
查看硬盘分区空间使用情况 df
df [选项] 参数
-h 以1024进制进行单位换算
-H 以1000进制进行单位换算
-t 指定显示分区类型
-i 显示分区的inode使用情况
eg: df -t ext4 列示文件系统为ext4的分区
以1000进制进行单位换算 显示结果会比-h大
以1024进制进行单位换算
查看分区的inode使用情况 inodes 节点数 节点数到达最大值就不能再增加文件
查看内存使用情况 free
free [选项] [分区]
-m 以1024kb=1M计算
-g 以1024MB=1G计算
什么参数都不带默认单位是kb
Linux属于多用户、多任务的操作系统
多用户:可以有多个用户同时登陆系统
多任务:可以同时执行多个任务
Linux进程、线程概念
程序——编译好的二进制文件,不占用资源
进程——活跃着的程序,占用资源,是操作系统的基本单位
线程——进程的执行单位,与进程共享资源
显示当前系统内进程信息及状态 ps
ps [options]
-a 当前终端下所有用户的进程
-x 显示所有不在当前终端下的进程
-u 查看进程的(用户id号)UID或账户名
-w 列加宽 可显示更多的信息 可重复使用
-e 显示所有的进程(A)
-f 列示完整的列表
-l 显示进程所属者 进程号和父进程号
-j 工作的格式(jobs format)
将目前属于自己的这次登入的相关信息列示出来
F 代表这个程序的旗标(flag) 4代表使用者为superuser
S 这个程序的状态(stat)
UID 执行者身份
PID 进程的ID号
PPID 父进程的ID
C cpu使用的资源百分比
PRI 进程的执行优先权(priority) 其值越小越早被执行
NI nice值 表示进程可被执行的优先级的修正数值
ADDR 内核函数 指出该程序在内存的哪个部分 如果是执行的程序 一般是[-]
SZ 使用掉的内存大小
WCHAN 目前这个程序是否正在运作当中 -表示在运作
TTY 登入者的终端机位置
TIME 使用掉的cpu时间
CMD 所下达的指令名称
显示所有包含其他使用者的进程 ps aux
USER 该进程属于哪个使用者账号
%CPU 该进程使用掉的cpu资源百分比
%MEM 该进程所占的物理内存百分比
VSZ 该进程使用掉的虚拟内存量(Kbytes)
RSS 该进程占用的固定的内存量(Kbytes)
TTY 该进程是在哪个终端机上运作 若与终端机无关 则显示? tty1-tty6是本机上面的登入 者程序 若为pts/0等等的 则表示为由网络连接进主机的程序
STAT R程序正在运作/可被运作
S正在休眠 但可被某些讯号(signal)唤醒
s 发起的一个会话
T 该程序目前正在侦测或者是停止了
Z 该程序应该已经终止 但是其父进程无法正常的终止他 造成zombie(僵尸)程序的
W 没有足够的内存分页可分配
< 高优先级的进程
N 低优先级的进程
+ 处于前台进程组中
l 多线程
L 将页面锁定在内存中(用于实时和自定义IO)
START 该进程被触发启动的时间
TIME 该进程实际使用cpu运作的时间
COMMAND 该程序的实际指令
新增一个用户登陆后进程增加了2
ppid 父进程 pri 优先级 ni也是优先级 但是用户可以调节
查看系统占内存最高的进程top5 -r逆序(降序) -n -k按列 sort排序
查看系统占cpu最高的进程top5
生成新的报表 -o自定义输出列表
若要自定义 不能带-u
不能带-l
查看进程树 pstree
yum search 关键字(搜索关键字所需的安装包)
yum install -y psmisc
pstree [options]
-u 在进程名旁显示进程所属的用户名
-p 在进程名旁显示PID
-a 显示命令的详细信息
查看进程树
实时刷新当前系统情况 top
内置命令
-h 帮助
-b 开启/关闭高亮显示
-d 指定每两次屏幕信息刷新之间的时间间隔 用户可以使用s交互命令来改变
-p 通过指定监控进程ID来仅仅监控某个进程的状态
-i 使top不现实任何闲置或者僵死进程
id空闲 zombie僵尸
显示进程所打开的文件 lsof
lsof [选项]
输出信息
command 进程名称
pid 进程标识符
user 进程所有者
fd 文件描述符 应用程序通过问及那描述符来识别该文件 如cwd txt等
device 指定磁盘的名称
size 文件的大小
node 索引节点(文件在磁盘上的标识)
name 打开文件的确切名称
显示系统不间断运行时间及1,5,15分钟负载 uptime
uptime [选项]
系统平均负载是指在特定时间间隔内运行队列中的平均进程数
查看负载
对进程进行控制 kill
Kill [信号] PID
kill不仅仅可以杀掉进程 而且还可以对进程实现暂停 继续
kill的操作对象是PID
kill对进程的操作实际是对PID发送信号
总计64个
1)前32个为非实时信号(不可靠信号 即不支持队列 在使用时信号可能被丢失) 2)后32个为实时信号(可靠信号 支持队列)了解信号(部分):如下所示
SIGHUP 1 一般程序收到此信号会退出,有些程序能够用此信号来reload
SIGINT 2 键盘终端(等于快捷键 ^c) 用于通知前台进程组终止进程
SIGQUIT 3类似SIGINT 但由QUIT字符(等于快捷键 ^/)来控制 进程在因收到 SIGQUIT退出时会产生core文件 在这个意义上类似于一个程序错误信号
SIGKILL 9 强制终止进程
SIGTERM 15 要求程序自己正常退出。这也是默认值
SIGCONT 18 让已停止的进程继续执行
SIGSTOP 19 让正在执行的进程暂停
SIGSTP 20 停止进程的运行(可通过susp字符或^z快捷键发送此信号)
查看vim的进程号
对多进程进行查杀 killall killall [信号] 进程名
所有用户都被退出
控制同名程序的所有进程 Pkill
Pikill [选项] [信号] 进程名
-t 按照终端号踢出用户
删除某个用户或者某个tty下的所有进程 一般默认不会删除登陆shell
如果删除该用户会回到登陆界面
删除tty下的所有进程 一般不删除shell
显示进程pgrep
-l 同时显示进程名和PID
-o 当匹配多个进程时 显示进程号最小的那个
-n 当匹配多个进程时 显示进程号最大的那个
注:进程号越大 并不一定意味着进程的启动时间越晚
前后台调度
&调到后台 jobs查看后台任务 fg+序号 调到前台
优先级
1)Linux可以动态修改进程的优先级 以确保某个进程都可以得到更多/更少的运行资源
2)在Linux中进程的优先级从最低19到最高-20
3)优先级具有继承性 子进程会从父进程处获得优先级指数
在程序启动时直接赋予相关进程的优先级 nice
nice [优先级] 命令
-19值
对现有进程重新赋予优先级 renice
renice [优先级] PID
可以改变已经启动的应用程序的优先级
输出CPU和磁盘I/O相关的统计信息 iostat
iostat 选项 延迟 计数
-c 仅显示cpu信息
-d 仅显示磁盘信息
-k 以k为单位显示磁盘每秒请求的块数
-t 显示报告生成时间
-p device | all 显示指定或所以的块设备信息
-x 输出扩展信息[与-p参数冲突]
-N 显示设备映射名
-v 显示iostat基本信息
查看信息
第一行查看内核版本
第二个cpu输入输出的平均值
第三个读写
监控cpu、内存、虚拟内存交换、io读写等各种情况的使用vmstat
vmstat 选项 延迟 计数
交换区长期大于1的时候可能内存不够
procs(进程)
r 运行队列(多少进程真正的分配到cpu)
b 阻塞队列(等待资源分配的进程数)
memory(内存)
swap 当前swap使用k数的情况
free 当前物理内存空闲的k数
buff 内存使用的buff总数 一般为块设备操作 文档权限记录等
cache 内存使用的cached总数 一般打开文件 运行程序时使用
swap(虚拟内存)
si 每秒钟从磁盘读入到swap的大小(不可长期大于0)
so 每秒钟从swap写入到磁盘的大小(不可长期大于0)
IO(块设备io)
bi 块设备每秒钟接受到的块数
bo 块设备每秒钟发送的块数
system(系统情况)
in 系统每秒中断总数(含时钟中断)
cs 每秒上下文切换的次数(系统调用 环境变化等)
cpu(cpu情况)
us 用户(及优先级)占用cpu时间
sy 系统(kernel)占用cpu时间
id 闲置cpu时间
wa io等待cpu时间
st 一个虚拟机占用的cpu时间
监控被Linux内核管理的独立任务(进程) pidstat
它输出每个受内核管理的任务的相关信息
第三行 进程启动时间UID PID
%usr - 当在用户层执行(应用程序)时这个任务的cpu使用率,和nice优先级无关
这个字段计算的cpu时间不包括在虚拟处理器中花去的时间
显示PID2864的IO信息
pidstat -d -p 2864
Kb_rd/s - 任务从磁盘上的读取速度(kb)
Kb_wr/s - 任务向磁盘中的写入速度(kb)
Kb_ccwr/s - 任务写入磁盘被取消的速率(kb)
显示PID2864的内存使用情况的数据
pidstat -r -p 2864
minflt/s - 从内存中加载数据时每秒出现的小的错误的数目 这些不要求从磁 盘载入内存页面
majflt/s - 从内存中加载数据时每秒出现的较大错误的数目 这些要求从磁盘 载入内存页面
VSZ - 虚拟容量 整个进程的虚拟内存(kb)
RSS - 长期内存使用 任务的不可交换物理内存的使用量(kb)
运行一个进程 查询pid号并显示它的io信息和内存使用情况
系统活动情况报告 sar
linxu系统性能分析工具,可分析linux系统的:文件系统读写情况,系统调用的使用情 况,磁盘io,cpu使用率,内存使用,进程活动等
sar 操作 -A -o file -t n
-o 以2进制格式记录至指定文件中
-A 所有采样报告的总和
-u 采样并输出cpu信息
-v 输出
-d 输出每个设备的活动信息
-r 内存与swap的统计信息
-b 显示IO与传送率的统计信息
-a 文件的读写情况
-c 进程统计情况,每秒创建的进程数目
-R 输出内存页的统计信息
-y 终端设备活动情况统计信息
-w 输出系统交换活动的统计信息
dentunusd 目录高速缓存中未使用的缓存条目编号
file-nr 文件句柄的使用量
inode-nr i节点使用量
pty-nr 伪终端的pty数量
设备使用情况监控,并显示设备名称而不用设备节点号显示
sar -d –p 1 1
DEV 设备名称
tps 每秒对物理磁盘I/O的次数
rd_sec/s 每秒读取扇区的次数
wr_sec/s 每秒写入扇区的次数
avgrq-sz 平均每次设备I/O操作的数据大小(扇区)
avgqu-sz 磁盘请求队列的平均长度
await 从请求磁盘操作到系统完成处理,每次请求所消耗的平均时间(含列等待时间), 单位为毫秒
svctm 系统处理每次请求的平均时间,不包括请求在队列中所消耗的时间
%util 请求占CPU的百分比,此数越大,越代表设备带宽越饱和报告生成时间
average 各列项的平均值
检测linux中的重要文件是否被人篡改 AIDE
是目前unix下著名的文件系统完整性检查工具,采用的技术核心是对每个要监控的文件提前产生一个数字签名并保存在系统中,当文件当前数字签名与保留的数字签名不一致时,那么说明我们检测的文件已经发生了改动,需要核对了。
1)安装AIDE:yum install aide -y
2)配置文件所在路径:/etc/aide.conf
3)对AIDE的配置文件进行检测:aide -D
4)AIDE权限说明:
AIDE的每个检测权限都是由若干的权限组成,其组成的权限:
p :权限 g :用户组 i :i节点(索引节点) n :连接数量
u :用户 s :大小 m :最后一次修改时间 a :最后一次访问时间
c :创建时间 l :链接名 b :块计算 S :检查增加的大小 I :忽略改变的文件
因此AIDE的检测权限为 R :p+i+n+u+g+s+m+c+md5 L :p+i+n+u+g
5)根据aide.conf的配置初始化数据库
aide -c /etc/aide.conf -i
6)将新的初始化的数据库进行使用
cd /var/lib/aide
cp aide.db.new.gz aide.db.gz
7)对系统进行检测
ide --check 或 aide -C
8)如果文件修改,对AIDE数据库更新
aide --update 或 aide -u
下载aide包
修改passwd文件后用aide进行检测