Linux系统管理笔记
一、进程管理
1、进程:正在执行的一个程序或命令。(类似于Windows中任务管理器中的进程)
2、进程管理的作用:
(1)、判断服务器的健康状态(最主要的作用);
(2)、查看系统中左右的进程;
(3)、杀死进程
3、查看系统中所有的进程
(1)、ps aux 查看系统中所有的进程,使用BSD操作系统格式
(2)、ps -le 查看系统中所有的进程,使用Linux标准命令格式
例如:ps aux查看系统中所有进程
其中:
第一列USER: 是哪一个用户的进程
第二列PID: 进程ID号
第三列%CPU: 进程占用CPU资源比
第四列%MEM: 进程占用物理内存比
第五列VSZ: 进程占用讯你急内存的大小,单位KB
第六列RSS: 进程占用实际物理内存的大小,单位KB
第七列TTY: 该进程在哪一个终端运行的(tyy1—tyy7表示本地控制台终端,tyy1
—6表示本地字符控制终端,tyy7表示图形界面终端。Pts/0-25
表示虚拟终端。绝大多数系统进程为”?”,代表这个进程不是由终端
调用,由内核直接产生。)
第八列STAT: 进程状态(R:运行 S:睡眠 T:停止 s:包含子进程 +:位于后台)
第九列START: 进程启动时间
第十列TIME: 该进程实际使用CPU运行的时间
第十一列COMMAND: 进程名
2、查看系统健康状态
Top [选项]
-d秒数 :代表每隔几秒更新一次,默认是3秒
其中:
08:57:29表示当前系统时间 up 3:27表示系统运行了多久
3 users表示当前登陆了3个用户
load average:0.05 0.01 0.04表示系统在之前1分钟、5分钟、15分钟平均负载。如果大于一表示负荷很大,小于1表示负荷较小。
Tasks:148 total系统中总进程数 1runing表示正在运行的进程数
147 sleeping表示当前睡眠的进程数 0stopped表示正在停止的进程数
0 zombie表示僵尸进程(这个进程正在终止,但没有终止完,若不为0,需要手工检查)
Cpu(s):0.3%us用户模式占用的百分比 0.0%sy系统模式占用的百分比
0.0%ni改变过优先级用户占用的百分比 99.7%id空闲CPU的CPU百分比
0.1%输入输出进程占用的百分比 0.0%hi硬中断请求服务占用CPU的百分比
0.1%si软中断服务占用CPU的百分比 0.0%st
Mem: 1004768k total 物理内存总量 839628k used 使用的物理内存总量
165140k free 空闲内存总量 33704k buffers 用作内核缓存的内存量
Swap: 2031612k total 交换区总量 0 k used 使用的交换区总量
2031612k free 空闲交换区总量 506296k cached 缓冲的交换区总量。
内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,
该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时 可不必再对交换区写入。
列名 |
含义 |
PID |
进程id |
USER |
进程所有者的用户名 |
PR |
优先级 |
NI |
nice值。负值表示高优先级,正值表示低优先级 |
%CPU |
上次更新到现在的CPU时间占用百分比 |
TIME |
进程使用的CPU时间总计,单位秒 |
TIME+ |
进程使用的CPU时间总计,单位1/100秒 |
%MEM |
进程使用的物理内存百分比 |
VIRT |
进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES |
RES |
进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA |
SHR |
共享内存大小,单位kb |
3、kill -l 查看所有的进程信号
常用的进程信号:
信号代码 信号名称 说明
1 SIGHUP 关闭进程,重新读取配置文件再重启
9 SIGKILL 立即结束程序运行
15 SIGTERM 正常结束进程信号
Kill [参数] [进程ID号]
Kill -1 [进程ID号] 重启此进程
Kill -9 [进程ID号] 终止此程序
例如:关掉Apache进程的一个子进程,在重新启动主进程
注:可以用ps aux和pstree查看进程,但是pstree -p查看进程更直观;
重启主进程后,子进程的进程ID号会更新;
pstree 以树状图方式显示进程之间的关系:
pstree [选项] [进程PID]
-p 以树状图显示进程,还显示进程PID。
-a 以树状图显示进程PID为<pid>的进程以及子孙进程,如果有-p参数
则同时显示每个进程的PID。
二、工作管理
1、把进程放入后台
(1)、在命令后加入&
(2)、在命令执行过程中按住Ctrl+z(在后台暂停)
注:查看在后在运行的进程,会多一个”+”
2、查看后台的工作
Jobs 或者jobs -l (-l 显示PID)
3、将后台运行的工作放到前台
fg %工作号 (%可省略) 将后台暂停的工作放到前台
bg %工作号 (%可省略) 将后台放在的工作前台
例如:将top命令放在后台,然后放在前台
输入命令top,回车后马上同时按Ctrl+l
三、系统资源查看
1、vmstat 监控系统资源
vmstat [刷新延时 刷新次数]
例如:vmstat 1 3 监控3次系统资源、每次间隔一秒钟
不输入1 3 则会只显示一次
2、free [选项] 查看内存使用情况
-b 以字节为单位
-k 以KB为单位
-m 以MB为单位
-g 以GB为单位
total总物理内存大小
used已分配的大小,对操作系统来说任何被使用的内存都是used
free未被分配的物理内存大小
shared共享内存大小,主要用于进程间通信
buffers主要用于块设备数据缓冲,例如记录文件系统的metadata(目录、权限等等信息)
cached主要用于文件内容缓冲
3、查看CPU信息
cat /proc/cpuinfo (一断电就会释放)
4、uptime 查看系统运行时间
与top打开的第一行一样,与w第一行显示一样
5、uname [选项] 查看系统与内核相关信息
-a 查看系统所有相关信息
-r 查看内核版本号
-s 查看内核名称
6、lsof [选项] 列出进程打开或使用的文件信息
-c字符串 只列出以字符串开头的命令
-u用户名 只列出此用户的进程打开的文件
-pPID 只列出pid进程打开的文件
四、系统定时任务
1、crond服务管理与访问机制
crontab [选项]
-e 编辑crontab定时任务
-l 查询crontab任务
-r 删除当前用户的crontab任务
2、crontab -e 编辑格式
*****命令
5个*分别表示:一个小时中的多少分钟(0-59); 一天中的多少小时(0-23);
一个月中的多少天(1-31); 一年中的多少月(1-12);
一周中的星期几(0-7,0和7都表示星期日) 。
4个常用符号:
*表示任何时候 ,表示不连续范围
-表示连续范围 */n表示每隔多久执行一次
例如:每隔一分钟再/tmp/test中输入11
crontab -e
在打开的vim编辑器中输入*****echo”hello”>>/tmp/test
cat /tmp/test