全国服务热线: 13530101390

深圳回收二三极管 发光二极管 MOS管 LED芯片

发布日期 :2022-11-27 02:00发布IP:59.40.140.19编号:10623722
品牌:
邵昕电子
价格:
请电话联系或加微信
回收范围:
电子元器件均可回收 全国
分 类
滤波器
单 价
电议
有效期至
长期有效
咨询电话
13530101390
手机
13530101390
Email
2969762139@qq.com
在线咨询
点击这里给我发消息
让卖家联系我
详细介绍

深圳回收二三极管 发光二极管 MOS管 LED芯片

内存回收

内存回收指的是对用户空间中的堆段和文件映射段进行回收(用户使用 malloc、mmap 等分配出去的空间)。用户可以手动地使用 free()等进行内存释放。当没有空闲的物理内存时,内核就会开始自动地进行回收内存工作。回收的方式主要是两种:后台内存回收和直接内存回收。


后台内存回收(kswapd):在物理内存紧张的时候,会唤醒 kswapd 内核线程来回收内存,这个回收内存的过程异步的,不会阻塞进程的执行。

直接内存回收(direct reclaim):如果后台异步回收跟不上进程内存申请的速度,就会开始直接回收,这个回收内存的过程是同步的,会阻塞进程的执行。

如果直接内存回收后,空闲的物理内存仍然无法满足此次物理内存的申请,那么内核就会触发 OOM (Out of Memory)机制,根据算法选择一个占用物理内存较高的进程,然后将其杀死,释放内存资源,直到释放足够的内存。

图司机-20221015-3307156

可被回收的内存类型

主要有两类内存可以被回收,而且它们的回收方式也不同。


文件页(File-backed Page):内核缓存的磁盘数据(Buffer)和内核缓存的文件数据(Cache)都叫作文件页。大部分文件页,都可以直接释放内存,以后有需要时,再从磁盘重新读取就可以了。而那些被应用程序修改过,并且暂时还没写入磁盘的数据(也就是脏页),就得先写入磁盘,然后才能进行内存释放。所以,回收干净页的方式是直接释放内存,回收脏页的方式是先写回磁盘后再释放内存。

匿名页(Anonymous Page):这部分内存没有实际载体,不像文件缓存有硬盘文件这样一个载体,比如堆、栈数据等。这部分内存很可能还要再次被访问,所以不能直接释放内存,它们回收的方式是通过操作系统的 Swap 机制,把不常访问的内存先写到磁盘中,然后释放这些内存,给其他更需要的进程使用。再次访问这些内存时,重新从磁盘读入内存就可以了。

文件页和匿名页的回收都是基于 LRU (近少使用)算法的。回收内存的操作基本都会发生磁盘 I/O,如果回收内存的操作很频繁,意味着磁盘 I/O 次数会很多,会影响系统的性能。




总结

虽然编程语言中有垃圾回收机制(Garbage Collection),可以回收用户申请的内存空间,但是由于存在申请速度远大于回收速度、内存使用后未释放等情况,所以操作系统还需要实现内存回收机制来兜底。


回收的方式有后台内存回收、直接内存回收和 OOM。后台内存回收是异步的,不会阻塞进程,回收速度较慢;直接内存回收是同步的,会阻塞进程,回收速度快;如果回收的速度仍然赶不上,则会触发 OOM 机制,以占用内存从高到低依次杀死进程,直到内存足够使用为止。



相关分类
推荐产品
信息搜索
 
深圳市邵昕电子科技有限公司
  • 地址:深圳市福田区华强北街道佳和华强大厦4楼
  • 电话:13530101390
  • 手机:13530101390
  • 联系人:金总