Linux小结2

程序:
计算机能够识别,能被计算机正确的执行的代码 (一段尚未被运行的代码)
 文件中静态保存的代码

进程:
运行中的代码
父进程先启动------->子进程,分配资源:父进程给子进程分配资源,结束运行:子进程先结束------>父进程收回子进程的资源之后,父进程才会终止

线程是程序的副本,只复制了进程的部分代码,真正执行的是线程而不是进程。相当于是进程的打工仔

命令

静态查看进程信息 ps命令

ps aux-----------------查看静态的进程统计信息

USER 进程的用户

PID 进程的ID

%CPU 进程占用的CPU百分比

%MEM 进程所占用的物理内存

VSZ 该进程使用的虚拟内存量

RSS 该进程占用的物理内存量

TTY 启动进程的终端名

STAT 该进程的状态(D-不可中断的休眠状态;R-正在运行状态;S-处于休眠状态,可被唤醒;T-停止状态可能是在后台暂停或进程处于跟踪调试状态;Z-僵尸进程,进程已经中止,但部分程序还在内存当中)

ps -elf

Linux内存管理是一个复杂的系统,它涉及到物理内存和虚拟内存的协调。以下是一些关键概念和小结: 1. **物理内存(Physical Memory)**:这是直接与硬件打交道的部分,包括RAM(随机存取存储器)和交换空间(Swap Space)。Linux使用分页或段式内存管理来分配和回收物理内存。 2. **虚拟内存(Virtual Memory)**:虚拟内存允许进程使用比实际物理内存大的地址空间。它通过页面替换算法(如LRU、FIFO等)将部分数据移到磁盘上以释放物理内存。 3. **页表和页帧**:Linux使用页表来映射虚拟地址到物理地址,页帧是物理内存中的基本单位。 4. **内存分配**:Linux使用slab cache机制进行内存分配,提高了内存分配和回收的效率。还有zone-based memory allocator,按内存大小和类型划分区域。 5. **内存碎片**:长时间的内存分配和回收可能会导致碎片,Linux通过 buddy system 和 zone-based 分配策略来尽量减少碎片。 6. **内存管理工具**:`free`、`top`、`vmstat`、`pmap`、`/proc/meminfo`等工具帮助监控和分析内存使用情况。 7. **交换分区**:当物理内存不足时,Linux会将部分进程的页面移到交换空间,但相比直接访问物理内存,这会带来性能损失。 8. **内核调优**:通过调整`vm.swappiness`参数、限制某些进程的内存使用,以及优化内存相关的内核参数,可以优化内存管理性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值