游戏网站建设的策划方案,门户网站 cms,兴润建设集团有限公司网站,烟台seo网站诊断一 内核功用
进程管理、内存管理、文件系统、网络功能、驱动程序、安全功能等 1 程序 是一组计算机能识别和执行的指令#xff0c;运行于电子计算机上#xff0c;满足人们某种需求的信息化工具 用于描述进程要完成的功能#xff0c;是控制进程执行的指令集
2 进程
运行…一 内核功用
进程管理、内存管理、文件系统、网络功能、驱动程序、安全功能等 1 程序 是一组计算机能识别和执行的指令运行于电子计算机上满足人们某种需求的信息化工具 用于描述进程要完成的功能是控制进程执行的指令集
2 进程
运行中的程序的一个副本是被载入内存的一个指令集合是资源分配的单位
进程是有生命周期的
centos6及之前由init串行启动管理进程
从centos7以后为systemd并行启动管理进程
进程IDProcess IDPID号码被用来标记各个进程
UID、GID语境决定对文件系统的存取和访问权限 父子关系 兄弟关系
非正常结束进程
死机 有僵尸进程对系统而言会占用内存对内存是非常大的负担解决之道重启或杀死程序
3 进程创建 init第一个进程从 CentOS7 以后为systemd 都由其父进程创建fork()父子关系CoWCopy On Write 写实更新有数据写入子进程需要新的内存空间
三 进程具有的特征 动态性进程是程序的一次执行过程是临时的有生命期的是动态产生动态消亡的 并发性任何进程都可以同其他进程一起并发执行 独立性进程是系统进行资源分配和调度的一个独立单位 结构性进程由程序、数据和进程控制块三部分组成。
进程的基本状态
创建状态
就绪状态
执行状态
阻塞状态
终止状态
进程更多状态
运行态
就绪态
睡眠态
停止态
僵死态
协程
是一种基于线程之上但又比线程更加轻量级的存在这种由程序员自己写程序来
协程的目的
协程的特点
线程的切换由操作系统负责调度协程由用户自己进行调度因此减少了上下文切换提高了效率。
协程的原理
当出现IO阻塞的时候由协程的调度器进行调度通过将数据流立刻yield掉主动让出并且记录当前栈
进程与线程的区别
线程是程序执行的最小单位而进程是操作系统分配资源的最小单位 一个进程由一个或多个线程组成线程是一个进程中代码的不同执行路线 进程之间相互独立但同一进程下的各个线程之间共享程序的内存空间(包括代码段、数据集、堆等)及一些进 程级的资源(如打开文件和信号)某进程内的线程在其它进程不可见 调度和切换
线程上下文切换比进程上下文切换要快得多
总结
每开启一个进程会消耗相应的硬件资源内存cpu磁盘i/o读写磁盘剩余
内存不足及时关闭没有用的进程硬件资源不足要对进程进行清理
pstree 可以查看进程PID号psprocess yum install epel-release.noarch -y会生成一个额外源 案例
如何确定一个程序多线程还是单线程 要去/proc找到程序进程号 prtstat 该程序的pid号可以查看该进程的线程数量 grep -i threads /proc/pid号/status可以查看该进程的线程数量 二 进程 使用 内存 的问题
进程状态 内存泄漏 内存溢出 内存不足 oom JVW虚拟机 进程使用内存出现的问题原因以及解决办法
pmap 进程id #可以显示该进程所有进程占用信息
进程的基本状态
创建
就绪
执行
阻塞
终止
状态之间转换六种情况
以下两种状态是不可能发生的
进程更多的状态
僵尸进程:
父进程退出 子进程没有退出 那么这些子进程就没有父进程来管理了 就变成僵尸进程
子进程已经结束了父进程没有意识到。解决之道重启或父进程唤起
进程之间通讯 同一主机
pipe管道单向传输
socket套接字文件
文件映射
共享内存
signal 信号
lock 对资源上锁
semaphore 信号量一种计数器
不同主机socketIP和端口号
进程的优先级 os 静态优先级100-139 进程默认启动时的nice值为0优先级为120 只有根用户才能降低nice值提高优先性
进程分类 进程 前台进程 按进程资源使用的分类 cpu-Bound I/O -Bound 操作系统分类 协作式多任务 抢占式多任务
进程类型两者可相互转化 守护进程 前台进程
三 进程管理相关命令主要是指进程的关闭与重启
系统中可以识别的信号较多可以使用命令kill -l或man 7 signal
要重启 apache 服务一般使用命令service httpd restart重启 apache的程序。systemctl httpd start ps process state , Linux系统各进程的相关信息均保存在/proc/数字 目录/status 下的文件中
查看静态的进程统计信息
ps aux 可以查看系统中所有的进程默认按pid号排名 ps -le 可以查看系统中所有的进程而且还能看到进程的父进程的 PID 和进程优先级 ps -l 只能看到当前 Shell 产生的进程 常用选项 a显示当前终端下的所有进程信息包括其他用户的进程。与“x”选项结合时将示系统中所有 的进程信息。 u使用以用户为主的格式输出进程信息。 x显示当前用户在所有终端下的进程信息。 -e显示系统内的所有进程信息。 -l使用长Long格式显示进程信息。 -f使用完整的Full格式显示进程信 k--sort 属性 对属性排序,属性前加 - 表示倒序 ps aux k -%cpu o 属性… 选项显示定制的信息 pid、cmd、%cpu、%mem不能和u一起用 找到CPU利用最高的进程或者按cpu利用率倒序排列 找到内存mem占用最高的进程或者按占用内存最多倒序排列 pid进程的ID字段说明
%cpu
%mem
VSZ
TTY
tty7
STAT
ps aux #如果看到STAT为Z表示为僵尸态。 ps -elf 输出信息 prtstat 查看进程信息
top
查看动态的进程排名信息win的任务管理器 -d 秒数指定 top 命令每隔几秒更新。默认是 3 秒 -b使用批处理模式输出。一般和-n选项合用用于把 top 命令重定向到文件中 -n 次数指定 top 命令执行的次数。一般和-选项合用 -p 进程PID仅查看指定 ID 的进程 -s使 top 命令在安全模式中运行避免在交互模式中出现错误 -u 用户名只监听某个用户的进程 top 命令的显示窗口中还可以使用如下按键进行一下交互操作
或h
c
M
N
T
k
r
q
首部信息显示/隐藏 top 命令的输出内容是动态的默认每隔 3 秒刷新一次。命令的输出主要分为两部分 第一部分是前五行显示的是整个系统的资源使用状况我们就是通过这些输出来判断服务器的资源使用状态的 第二部分从第六行开始显示的是系统中进程的信息
第一部分 top - 10:06:37 up 5:36, 3 users, load average: 0.00, 0.01, 0.05
Tasks: 204 total, 1 running, 202 sleeping, 1 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1867048 total, 74348 free, 755112 used, 1037588
buff/cache KiB Swap: 4194300 total, 4191856 free, 2444 used. 878688 avail Mem
第一行为任务队列信息具体内容如表
第二行为进程信息具体内容
第五行为交换分区swap信息
第三行为 CPU 信息具体内容
第四行为物理内存信息具体内容
缓冲buffer和缓存cache的区别
缓存 用来加速数据从硬盘中读取的
缓冲 用来加速数据写入硬盘的。 第二部分
top 命令的第二部分输出主要是系统进程信息各个字段的含义如下 pgrep
查看指定的进程 -U 指定用户 查看指定用户为root的进程pid -l: 显示进程名 显示以log为名的进程pid -a: 显示完整格式的进程名 -P pid: 显示指定进程的子进程
pidof
已知程序名不知道pid号 pstree
以树形结构列出进程信息
-a -p -T
-u -H pid号 lsof
“list opened files”的缩写就是列举系统中已经被打开的文件
-c
d
-u
-p pid号 i 端口 查询系统中所有进程调用的文件 vmstat
是 Virtual Meomory Statistics虚拟内存统计的缩写可用来监控 CPU 使用、进程状态、内存使用、虚拟内存使用、硬盘输入/输出状态等信息
r
b
swpd
cache free 查看系统内存占用情况 free -h 以易读方式显示人性化万能指令 free -m 以兆 -g 以吉 -k 以千字节 -b 以字节 iostat
性能状态监控数据 此工具由sysstat包提供 -c 只显示CPU行 -d 显示设备〈磁盘)使用状态 -k 以千字节为为单位显示输出 -t 在输出中包括时间戳 -x 在输出中包括扩展的磁盘指标
iostat 1 -d /dev/sda #dev/sda硬盘 iotop监视磁盘I/O活动 iftop -ni ens33 #网络流量 crontab
设置周期计划
crontab -e 编辑计划任务 每天830开启sshd服务 crontab -l 查看计划任务 crontab -r 删除计划任务 crontab -u XXX 用来设定某个用户的crontab服务 crontab -i 在删除用户的crontab文件时给确认提示
* 指定分钟
** 指定小时
*** 指定月份的某一天
**** 指定月份
***** 指定一星期的某一天
* 表示该范围的任意时间 表示间隔的多个不连续的时间点
- 表示一个连续的时间范围
/ 间隔的时间频率代表每隔多久执行一次
格式 ***** 绝对路径
第一个*哪一分钟 0-59
第二个*哪一个小时 0-23
第三个*哪一天 1-31
第四个*哪一个月 1-12
第五个*星期几 0-7 07都代表星期天
which 命令 查看绝对路径
案例
周一到周五每天1700
0 17 * * 1-5
每周一、三、五的8点30分
30 8 * * 1,3,5
8点到18点之间每2小时
0 8-18/2 * * *
每3天
0 * */3 * *
command 指定要执行的命令或脚本 uptime
显示系统运行时间以及平均负载情况 mpstat
一秒一次看三次 用于显示所有cpu的性能统计 dstat pmap
显示进程内存映射信息 pmap 选项 进程的pid号
-x
-d
-q
-p
-x
-h
-L
dd if/dev/zero of/dev/null
kill
结束正在运行的进程 kill 信号 pid号 kill-i pkill
用于根据进程名称终止进程 pkill 信号 进程号
-U
-t
-u
-t
-l
-a
-p
killall
终止指定名称的进程
-i
-e
-g
-I at atq
查看任务列表 atrm
任务序列号 #删除任务 五大性能
查看cpu内存top w vmstat
查看内存的命令top free vmstat
查看硬盘分区lsblk
查看硬盘剩余df
硬盘读写性能vmstat