内核功用:进程管理、内存管理、文件系统、网络、驱动程序、安全功能等
进程管理视图
进程与程序
进程是程序运行所创建,使用资源,程序在不运行时不使用内存等资源
进程与线程、协程
线程是进程内部分,携程是线程可能会有的部分
进程的基本状态
创建状态:进程在创建时需要申请一个空白PCB(process control block进程控制块),向其中填写 控制和管理进程的信息,完成资源分配。如果创建工作无法完成,比如资源无法满足,就无法被调度运行,把此时进程所处状态称为创建状态
就绪状态:进程已准备好,已分配到所需资源,只要分配到CPU就能够立即运行
执行状态:进程处于就绪状态被调度后,进程进入执行状态
阻塞状态:正在执行的进程由于某些事件(I/O请求,申请缓存区失败)而暂时无法运行,进程受到阻塞。在满足请求时进入就绪状态等待系统调用
终止状态:进程结束,或出现错误,或被系统终止,进入终止状态。无法再执行
进程树 pstree
僵尸态
形成:
解决方法:唤醒父进程或关闭父进程
僵尸进程基本不使用计算机资源
centos 6 上第一个进程是init ,7之后为systemd
进程信息 ps
支持 BSD选项
常用选项
1 a 选项包括所有终端中的进程 2 x 选项包括不链接终端的进程 3 u 选项显示进程所有者的信息 4 f 选项显示进程树,相当于 --forest 5 k|--sort 属性 对属性排序,属性前加 - 表示倒序 6 o 属性… 选项显示定制的信息 pid、cmd、%cpu、%mem 7 L 显示支持的属性列表 8 -C cmdlist 指定命令,多个命令用,分隔 9 -L 显示线程 10 -e 显示所有进程,相当于-A 11 -f 显示完整格式程序信息 12 -F 显示更完整格式的进程信息 13 -H 以进程层级格式显示进程相关信息 14 -u userlist 指定有效的用户ID或名称 15 -U userlist 指定真正的用户ID或名称 16 -g gid或groupname 指定有效的gid或组名称 17 -G gid或groupname 指定真正的gid或组名称 18 -p pid 显示指pid的进程 19 --ppid pid 显示属于pid的子进程 20 -t ttylist 指定tty,相当于 t 21 -M 显示SELinux信息,相当于Z
常用小工具
综合监控:top ,htop ,glance cup监控:mpstat 磁盘监控:vmstat ,iostat ,dstat ,iotop 网络监控:iftop ,nload pgrep ps+grep 进程搜索 prtstat 查看进程详细信息 uptime 负载查询 pmap 进程对应内存映射 ltrace 查看库调用
原文:https://www.cnblogs.com/zy2271/p/12863208.html