初学 进程

目录

进程的空间分配

虚拟地址与物理地址

如何将虚拟地址和物理地址联系起来呢?

映射

进程的一些命令


进程的空间分配

在系统为进程创建4G的空间后,这个空间会分为两个部分,1G内核,3G用户

用户空间可分为

stack : 存放非静态的局部变量

heap : 动态申请的内存

bss : 未初始化过的全局变量(包括初始化为0的,未初始化过的静态变量(包括初始化为0)

data : 初始化过并且值不为0的全局变量,初始化过的不为0静态变量

rodata : 只读变量(字符串之类)

text : 程序文本段(包括函数,符号常量)

虚拟地址与物理地址

上篇提到过,每个进程会有4G的虚拟地址空间

为什么要用虚拟地址?

直接访问物理地址,会导致地址空间没有隔离,很容易导致数据被修改

通过虚拟地址空间可以实现每个进程空间都是独立的,操作系统会映射到不用的物理地址区间,在 访问时互不干扰.

如何将虚拟地址和物理地址联系起来呢?

映射

可以理解为物理地址是一个指针,虚拟地址是二级指针用来保存物理地址,通过虚拟地址可以进入物理地址空间(个人理解)

在cpu中有一个硬件 MMU(内存管理单元),负责虚拟地址与物理地址的映射管理以及虚拟地址访问

进程的一些命令

1.ps  -ef  显示当前进程的状态

// 显示所有进程的详细信息   ps -aux

可以与其它命令一起使用 :使用 ps -ef | grep "可执行文件名" 查找进程

2.top

实时显示进程的信息

不显示任何闲或无用进程  top -i

更数指定次数后,退出top命令   top -n(数字)

有兴趣的盆友可以看看(本人也是从老师那复制过来的)

%Cpu(s):CPU使用率 0.7 us:用户空间占用CPU时间的百分比(大部分进程都运行在用户态,通常都是希望用户空间CPU 越高越好)

0.5 sy:内核空间占用CPU时间的百分比(Linux内核态占用的CPU时间,系统CPU占用越高,表明 系统某部分存在瓶颈。通常这个值越低越好)

0.0 ni:占用CPU时间的百分比(ni是nice的缩写,进程用户态的优先级,如果调整过优先级,那 么展示的就是调整过nice值的进程消耗掉的CPU时间,如果系统中没有进程被调整过nice值,那么 ni就显示为0)

98.8 id:空闲CPU占用率,等待进程运行 0.0

wa:等待输入输出的CPU时间百分比(CPU的处理速度是很快的,磁盘IO操作是非常慢的。

wa 表示CPU在等待IO操作完成所花费的时间。系统不应该花费大量的时间来等待IO操作,否则就说明 IO存在瓶颈)

0.0 hi:CPU硬中断时间百分比(硬中断是硬盘、网卡等硬件设备发送给CPU的中断消息 )

0.0 si:CPU软中断时间百分比(软中断是由程序发出的中断 )

0.0 st:被强制等待(involuntary wait)虚拟CPU的时间,此时Hypervisor在为另一个虚拟 处理器服务。

PID:进程号

USER:进程所有者

PR:进程的优先级,越小优先级越高

NI:nice值,负值表示高优先级,正值表示低优先级

VIRT:进程使用的虚拟内存,单位是kb

RES:进程使用的物理内存,单位kb

SHR:进程使用的共享内存,单位kb

进程状态(S表示休眠,R表示正在运行, Z表示僵死状态,I表示空闲状态)

3.pstree

pstree 命令是将所有的进程以树型结构的方式进行展示

4.kill

kill 命令是用于结束进程的命令或者用于显示相关信号

终止进程   kill -9 进程号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值