内核功用:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能
守护进程:随着计算机开机、关机而存在的进程
进程创建:
init:第一个进程
进程:都由其父进程创建,父子关系,CoW
fork(), clone()
父进程与子进程使用同一个id编号,除非子进程状态发生呢个改变
协程:它与开发块有关,在线程中一个独立的语句块,相互之间控制由程序完成
进程相关概念
Page Frame: 页框,用存储页面数据,存储Page 4k
物理地址空间和线性地址空间
MMU:Memory Management Unit 负责转换线性和物理地址,是数据CPU部件
每个应用程序使用的内存其实是虚拟内存,假设有程序proc1,在物理上的内存地址是X-Y,程序proc2,在物理上的内存地址是M-N,且物理内存地址并不一定是连续的,而proc1在虚拟内存中会以为操作系统将所有内存分配给自身。MMU的作用就是转换线程和物理地址
TLB:Translation Lookaside Buffer 翻译后备缓冲器
用于保存虚拟地址和物理地址映射关系的缓存
LRU:Least Recently Used 近期最少使用算法,释放内存
单位为K
init 3 关闭图形界面
init5 开启图形界面
pidof command 通过命令查询进程编号
us 用户,应用程序均在此安装,期望此值数目大
sy 操作系统内核占比
ni nice 用户优先级调整
id 空闲空间
wa 操作系统等待
hi 硬中断
si 软中断(模式切换)
st 盗取时间片 steal ,丢失的时间点
中断 :打断cpu 执行
- 默认使用top命令以cpu占比从高到低排序,按P键
- T 按照时间排序
- M 按照内存占比排序
%MEM 不断增大,汇出现内存泄露
OOM out of memory 内存泄露,内存占比不断增大
l 键隐藏uptime
修改刷新时间间隔:s
终止指定进程:k
保存文件:W
pstree -p查看进程以及对应的线程 { } 代表线程
打开某个进程里面的线程:top -H -p 8116
htop
centos6 中free 命令查看
buffers 与写数据有关,修改完数据,将数据按照一定的次序写入缓冲区中
cached 与读数据有关,将数据放入缓存中,下次直接从缓存中提取
二者均能够提高效率
free -h 选择合适的单位,-g 以G为单位 -M 以MB为单位
centos7 中显示
清理缓存的方法:
[root@centos6 ~]# echo 3 > /proc/sys/vm/drop_caches
vmstat工具
vmstat命令:虚拟内存信息
vmstat [options] [delay [count]]
vmstat 2 5
procs:
r:可运行(正运行或等待运行)进程的个数,和核心数有关
b:处于不可中断睡眠态的进程个数(被阻塞的队列的长度)
memory:
swpd: 交换内存的使用总量
free:空闲物理内存总量
buffer:用于buffer的内存总量
cache:用于cache的内存总量
以下的I/O均是以内存为参照物
swap:
si:从磁盘交换进内存的数据速率(kb/s)
so:从内存交换至磁盘的数据速率(kb/s)
io:
bi:从块设备读入数据到系统的速率(kb/s)
bo: 保存数据至块设备的速率
cpu:
us:Time spent running non-kernel code
sy: Time spent running kernel code
id: Time spent idle. Linux 2.5.41前,包括IO-wait time.
wa: Time spent waiting for IO. 2.5.41前,包括in idle.
st: Time stolen from a virtual machine. 2.6.11前, unknown.
Iostat
iftop
pmap工具
anon 匿名内存空间
heap 堆,数据量大,分散的块
stack 栈
taskset 查询或设置进程(线程)绑定CPU(亲和性)
Linux:taskset 查询或设置进程(线程)绑定CPU(亲和性)_test1280的博客-CSDN博客_taskset 线程
补笔记!!!!!!
查看某个命令调用的系统库
strace /bin/cat
查看系统调用的函数库
ltrace /bin/cat /etc/passwd
glances工具
server端
glances -s
client端
glances -c 192.168.48.111
jobs 查看作业编号、进程状态
command & 放入后台且执行,关闭终端,进程也会消失
ctrl+z 前台运行切换到后台停止
fg 作业编号 将后台进程放入前台进程
bg 作业编号 将前台休眠进程切换到后台运行进程
killall -18 服务名称 后台停止切换到后台运行
killall -19 服务名称 后台运行切换到后台停止
killall -0 服务名称 检测服务是否正常