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 >/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系统监控与硬盘分区/格式化/文件系统管理的更多相关文章
- NO.7day系统监控,硬盘分区和文件系统管理
系统监控,硬盘分区和文件系统管理 1.系统监控 top命令:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.默认每5秒刷新屏幕数 ...
- Day 7 Linux之系统监控、硬盘分区等
Linux之系统监控.硬盘分区等 系统监控 系统监视和进程控制工具—top和free 1) 掌握top命令的功能:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况, ...
- 【linux相识相知】磁盘分区及文件系统管理详解
磁盘,提供持久的数据存储,它不像我们的内存,如果突然断电了,在内存中的数据一般都会被丢掉了,内存中的数据在保存的时候,会被写到硬盘里面,磁盘也是一种I/O设备. 我们都知道磁盘分区完成之后,还要进行格 ...
- [转]linux 系统监控、诊断工具之 IO wait
1.问题: 最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端.本机都没问题,但是没想到上了第二份日志之后,问题来了: 集群中的某台机器 top 看到负载巨高,集群中的机器 ...
- linux系统监控常用工具
linux系统监控常用工具 一.系统核心工具包(coreutils) 1./bin/df 报告系统的磁盘空间用量 df -h 显示磁盘分区fdisk -l 2./bin/uname 显示系统信息 u ...
- Linux学习之CentOS(十七)-----释放 Linux 系统预留的硬盘空间 与Linux磁盘空间被未知资源耗尽 (转)
释放 Linux 系统预留的硬盘空间 大多数文件系统都会保留一部分空间留作紧急情况时用(比如硬盘空间满了),这样能保证有些关键应用(比如数据库)在硬盘满的时候有点余地,不致于马上就 crash,给监 ...
- python进行linux系统监控
python进行linux系统监控 Linux系统下: 静态指标信息: 名称 描述 单位 所在文件 mem_total 内存总容量 KB /proc/meminfo disks 磁盘相关信息 - ...
- linux系统监控sar命令
linux系统监控sar命令详解 sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告, 包 ...
- Linux 释放Linux 系统预留的硬盘空间
释放 Linux 系统预留的硬盘空间 by:授客 QQ:1033553122 大多数文件系统都会保留一部分空间作为紧急情况时用(比如硬盘空间满了),这样能保证有些关键应用(比如数据库)在硬盘满的时 ...
随机推荐
- servlet中为什么doGet方法没有被调用的一种可能(笔记)
创建了一个servlet,然后在doGet()方法内写一些简单的测试语句,但是在实际运行中发现并没有调用到doGet()方法,后来发现自己在创建servlet是将service()方法也勾选上去了,而 ...
- vue模拟后端获取数据——json-server与express
转载自: https://blog.csdn.net/weixin_39728230/article/details/80293892 https://blog.csdn.net/lxkll/arti ...
- Python 新建程序
1.建立一个新的文件夹 2.建一个包 3.建一个程序项目 4.默认模板配置
- Java将byte[]和int的互相转换
/** * 将整数转换为byte数组并指定长度 * @param a 整数 * @param length 指定长度 * @return */ public static byte[] intToBy ...
- Go语言学习之6 反射详解
1.反射: 定义: 反射就是程序能够在运行时检查变量和值,求出它们的类型. 可以在运行时动态获取变量的相关信息 Import ( ...
- JS获取系统时间--JavaScript基础
1.网页中实时显示当前时间 <!DOCTYPE html><html lang="en"><head> <meta charset=&qu ...
- Linux上rsync配置
一.服务器端配置1.rsyncd.conf文件说明uid = rsync #用户,用来控制用户访问模块目录的读写权限gid = rsync #组,用来控制组访问模块目录的读写权限use ...
- 1.1 从UNIX到Linux的发展历程
MIT的CTSS:第一个分时操作系统 ◼ Multics系统(Multiplexed Information and Computing System) ⚫ 1965年AT&T,MIT和GE的 ...
- c 语言连续输入字符型数据
#include<stdio.h> #include<stdlib.h> void Input1(char* &str){ // /* 这种情况下想要逐个输入字符串数组 ...
- LCS(最长公共子序列)问题
例题见挑战程序设计竞赛P56 解释:子序列是从原序列中按顺序(可以跳着)抽取出来的,序列是不连续的,这是其和子串最大的区别: 我们可以定义dp数组为dp[i][j],表示的是s1-si和t1-ti对应 ...