另外需要说明一点, 这两种调用发生后,其实并没有真正分配内存.只有在访问时通过缺页异常进入内核中分配.
内存的释放
内存如果只分配不释放, 会造成内存泄漏, 甚至会耗尽系统内存.所以在应用程序用完内存后,还要通过free()或unmap()来释放内存.
当然,系统也不会任由某进程用完所有的内存, 在发现内存紧张时, 就会通过一系列机制来回收内存: 1).回收缓存.使用LRU(least recently used)算法, 回收近使用的少的缓存; 2).回收不常用的内存,把不常用的内存数据交换到交换分区; 3).杀死进程, 内存紧张时系统会通过OOM(out of memory),直接杀掉占用大量内存的进程
对第二种情况, 如果频繁使用交换分区, 会导致严重的内存性能问题;
第三种情况, 其实是内存的保护机制, 它监视进程的内存使用情况, 并使用oom_score为每个进程评分:
一个进程消耗的内存越大, oom_score分值越高, 越容易被杀死;一个进程占用的CPU越多, oom_score分值越低,越不容易被杀掉
为了防止关键进程被oom,可以通过设置进程的oom_adj,进而调整进程的oom_score分值.
oom_adj的范围是[-17,15],小为-16,大为15, 数值越大, 越容易被杀死. 其中-17表示禁止oom
求购回收手机液晶驱动IC 求购数码液晶驱动IC 高价回收 FT8006BAA-BOOA-70 FT8719 FT8716 FT7613FT8607 FT8756
求购回收液晶驱动IC 回收液晶裸片IC
求购回收矽创液晶驱动IC ST7735 ST7920 ST7921 ST7565 ST7789 ST7637 ST7066ST7781 ST7785
长期高价求购回收驱动IC 求购裸片IC 求购触摸IC 回收液晶IC 回收液晶驱动IC 手机液晶IC数码液晶回收裸片IC回收驱动ICIC 电脑液晶IC
求购新思驱动IC TD4310-AOP-EJV4OB-O TD4320TD4330 TD4322 TD4328 TD4300 TD4336