(1)进程管理
1.判断服务器健康状态
2.查看进程
a.查看系统中所有进程:ps
例:ps aux(使用BSD操作系统命令格式)
a 显示所有前台进程
x 显示所有后台进程
u 显示哪个用户产生
ps -le(使用linux标准命令格式)
-l 显示更加详细的信息
-e 显示所有进程
结果说明
VSZ :占用虚拟内存大小KB
RSS :占用实际物理内存大小KB
TTY :进程登录终端(?表示内核直接产生,1-7代表本地控制台终端,pts/0-255虚拟终端)
STAT :状态。R运行,S睡眠,T停止,s包含子进程,+位于后台
START:启动时间
TIME :占用cpu时间
COMMAND:产生此进程的命令
b.查看系统健康状态:top
-d 每隔几秒更新,默认3秒
交互过程中使用:
?/h :显示交互模式的帮助
P :以cpu使用率排序
M :以内存使用率排序
N :以pid排序
q :退出top
结果说明
top -
18:31:55 系统当前时间
up 1 day,18:28, 系统的总运行时间
1 user, 当前登录了1个用户
load average: 0.00, 0.00, 0.00 系统在前5,10,15分钟的平均负载,大于1则超载
Tasks: 进程数
83 total, 总
1 running, 正在运行
82 sleeping, 睡眠
0 stopped, 正在停止
0 zombie 僵尸
Cpu(s): 占用的cup百分比
0.0%us, 用户模式
0.3%sy, 系统模式
0.0%ni, 改变过优先级的用户进程
99.3%id, 空闲(小于20%则需硬件升级)
0.0%wa, 等待输入输出
0.0%hi, 硬中断请求服务
0.3%si, 软中断请求服务
0.0%st 虚拟时间,当有虚拟机时,虚拟cpu等待实际cpu的时间
Mem: 物理内存大小KB
1004760k total, 总量
867512k used, 已使用
137248k free, 空闲
62176k buffers 作为缓冲
Swap: 交换分区大小KB
2047996k total, 总量
5492k used, 已使用
2042504k free, 空闲
144888k cached 作为缓冲
c.查看所有进程:pstree
-p 查看详情
-u 显示进程用户
3.杀死进程
a.查看可用的进程信号:kill -l
例:kill -1 22222 重启 pid
kill -9 22222 强制终止
kill 22222 正常终止
信号代码 信号名称 说明
1 SIGHUP 该信号让进程立即关闭,然后重新读取配置文件之后重启
2 SIGHUP 程序终止信号,用于终止前台进程。相当于ctrl+c
8 SIGFPE 在发生致命的算术运算错误发出,不仅包括浮点运算错误,还包括溢出及除数为0等其它所有的算术错误
9 SIGKILL 用来立即结束程序的运行,本信号不能被阻塞、处理和忽略。一般强于终止进程
14 SIGALRM 时钟定时信号,计算的是实际的时间或时钟。alarm函数使用该信号
15 SIGTERM 正常结束进程的信号,kill命令的默认信号。有时如果进程已经发生问题,这个信号是无法正常终止进程的,我们才会尝试SIGKILL信号,也就是是信号9
18 SIGCONT 让暂停的进程恢复执行,本信号不能被阻断
19 SIGSTOP 该信号可以暂停前台进程,相当于ctrl+z。本信号不能被阻断
b.杀死所有进程:killall [选项] [信号] 进程名
-i 交互式,询问是否要杀死某个进程
-I 忽略进程名的大小写
例:killall -9 mysqld
c.按照进程名终止进程:pkill [选项] [信号] 进程名
-t 终端号:按照终端号踢出用户
例:
查看当前用户:w
踢出用户: pkill -9 -t tty1
(2)工作管理
1.把进程放入后台
a.后台运行 & :tar -zcf aa.tar.gz /aa &
b.后台暂停 ctrl+z :top ,在top执行过程中按ctrl+z
2.查看工作:jobs -l
-l 显示pid
注:+代表最近一个放入后台,也是工作恢复时默认恢复的工作。-代表倒数第二个。[n]代表工作号
3.将后台暂停的工作恢复到前台:fg %工作号
注:%可以省略
4.将后台暂停的工作恢复到后台运行:bg %工作号
(3)系统资源查看
1.监控系统资源:vmstat [刷新延时 刷新次数]
例:vmstat 1 3
2.显示开机时内核监测信息(查看硬件信息):dmesg
例:dmesg | grep CPU
3.查看内存使用状态:free [-b|k|m|g]
-b 以字节为单位
-k 以kb为单位(默认)
-m 以mb为单位
-g 以gb为单位
4.查看CPU信息:cat /proc/cpuinfo
5.查看系统版本:cat /etc/redhat-release
6.显示系统启动时间和平均负载:uptime
7.查看系统与内核相关信息:uname [选项]
-a 查看系统所有相关信息
-r 查看内核版本
-s 查看内核名称
8.判断当前系统位数:file /bin/ls
9.判断当前系统发行版本:lsb_release -a
10.列出进程打开或使用的文件信息:lsof [选项]
-c 字符串:只列出字符串开头的
-u 用户名:只列出指定用户的
-p pid:只列出指定pid的
(4)系统定时任务
1.服务管理与访问控制:crond
开启:service crond start
自启:chkconfig crond on
2.用户的crontab设置:crontab [选项]
-e 编辑定时任务
-l 查询定时任务
-r 删除当前用户所有定时任务
格式:
分 时 日 月 周 执行任务
例:*/10 0-23 1,15 * 1 date >> a.log : 每月1号和15号和每周一的0点到23点每隔10分钟