首页 > 代码库 > linux系统监控与硬盘分区/格式化/文件系统管理
linux系统监控与硬盘分区/格式化/文件系统管理
1.系统监控
1) 系统监视和进程控制的工具----> Top 与 free 类似于windows的资源管理器。
进程运行的三种状态:
tips:
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
解释僵尸进程与孤儿进程:
可参考博客:http://blog.csdn.net/l953972252/article/details/51399576
僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。 特点:占用进程PID号,无法被释放,影响系统资源。
孤儿进程:孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。 特点:不占用系统资源,因为被系统最终回收。
僵尸进程的处理
得出结论,孤儿进程不会占资源,僵尸进程会占用资源危害系统。我们应当避免僵尸进程的出现。
解决办法如下:
1)通过信号机制
子进程退出时向父进程发送SIGCHILD信号,父进程处理SIGCHILD信号。调用wait()或者waitpid(),让父进程阻塞等待僵尸进程的出现,处理完在继续运行父进程。
2)杀死父进程
当父进程陷入死循环等无法处理僵尸进程时,强制杀死父进程,那么它的子进程,即僵尸进程会变成孤儿进程,由系统来回收。
3)重启系统
当系统重启时,所有进程在系统关闭时被停止,包括僵尸进程,开启时init进程会重新加载其他进程。
TOP命令查看系统状态:
cpu利用率:上一天班的时间是8个小时,而码农敲代码的时间为2个小时,2/8=0.25 ,25%就是码农在一天的时间内的利用率(正常情况,cpu利用率<70%)
cpu负载:公司在一分钟内为某个码农安排了3个任务,而1分钟内该码农能做6个任务,那么该码农一分钟内的负载为0.5
cpu负载<=1:能正常应付
cpu负载>1:超负荷运转
Tasks: 29 total | 进程总数 |
1 running | 正在运行的进程数 |
28 sleeping | 睡眠的进程数 |
0 stopped | 停止的进程数 |
0 zombie | 僵尸进程数 |
Cpu(s): 0.3% us | 用户空间占用CPU百分比 |
1.0% sy | 内核空间占用CPU百分比 |
0.0% ni | 用户进程空间内改变过优先级的进程占用CPU百分比 |
98.7% id | 空闲CPU百分比 |
0.0% wa | 等待输入输出的CPU时间百分比 |
0.0% hi | 硬件中断占用CPU时间的百分比 |
0.0% si | 软件中断占用CPU时间的百分比 |
free命令显示内存的使用状态:(下图以centos7为例)
CPU的利用率=(total—Available)/Available
---buffer 写缓存,数据存储时,先保存到磁盘缓冲区,然后再写入到永久空间
---cache 读缓存,数据从磁盘读出后,暂留在缓冲区,预备程序接下来的使用
内存其实就相当于向外分buffer与cache来供CPU与硬盘进行使用;
当我们在写入数据并进行保存时,我们的cache数据量会极大的提高,这是因为在保存在硬盘的同时还缓存在了内存里面,方便用户的再次使用,以免来回调用硬盘数据导致速度变慢《运行速度:CPU>内存>硬盘》.不过我们可以利用如下(1)命令释放该数据所占用的cache空间,但我们不能完全释放cache空间,因为部分系统文件受保护.
(1).释放被系统cache占用的系统数据:
echo 3>/proc/sys/vm/drop_caches
需要注意的是,free
表示的是当前完全没有被程序使用的内存;而cache
在有需要时,是可以被释放出来以供其它进程使用的(当然,并不是所有cache
都可以释放,比如当前被用作ramfs
的内存)。而available
才真正表明系统目前可以提供给应用程序使用的内存。
2)系统进程中的监控ps
1>父进程与子进程:当一个进程创建另一个进程时,第1个进程被称为新进程的父进程,而新进程被称为子进程。
2>掌握ps命令的功能:用来显示当前进程的状态。
Ps –aux 显示所有的与用户相关的完整信息
系统中进程的监控pstree、kill
centos7默认没有pstree,需要yum -y install psmisc
1)pstree 命令 ;以树状图显示程序
用法:例如PID为789的进程的进程树状命令为: pstree 789
kill 命令 ; 把一个信号发送给一个或多个进程,默认发送终止信号。
用法:终止PID为3852的进程的命令:kill 3852
kill -9 ;杀死PID为3906的进程的命令:kill -9 3906
pgrep命令; 通过名称或其他属性查找进程
用法: 查找名为firefox的进程的命令为:pgrep firefox
pkill命令; 通过名称或其他属性发信号给进程
用法:杀死名为firefox的进程的命令为:pkill firefox
2.硬盘分区与格式化(详细见有道云笔记)
3.文件系统管理
linux系统监控与硬盘分区/格式化/文件系统管理