● 摘要
目前,越来越多的互联网公司选择使用Linux操作系统来部署服务器。内存管理是Linux系统中十分重要的功能,它与服务器的性能及稳定性息息相关。
在 Linux 操作系统中,使用伙伴算法来管理物理内存。伙伴算法是一种经典的内存管理算法,它要求满足伙伴关系的内存块在地址上连续,它们的大小必须相等,而且需要来自同一个更大的内存块。这就导致有些地址连续的内存,因为不满足伙伴算法的条件,而无法合并和分配。本论文会对已有的优化方法进行实现和分析,指出它们并不适用于大多数服务器环境。
Linux内核不但要管理物理内存,还需要管理虚拟内存。其中,进程地址空间的管理就是Linux虚拟内存管理的重要部分。每个进程都有一个独立的地址空间,进程不能访问空间的所有的地址,其中它可以访问的一部分合法空间,叫做进程的内存区域。本文中,针对服务器常驻进程可能频繁进行内存区域的创建和删除的特性,设计并实现了一个高效的算法,对其进行优化。
另外,最新的Linux内核提供的一种方式,来隔离和限制一个进程组所能够使用的物理资源。其中,内存控制组可以为一组进程设定一个可用内存的上限。当使用的内存达到限额,并再申请内存,就会触发内存耗尽异常,系统会杀死部分进程来释放资源。所以,本文对内存控制组进行了研究,发现并改进了两处缺陷。
实验数据表明,本文所进行的优化一定程度上提高了服务器的性能和稳定性,具有实践意义。
关键词:Linux内核,内存管理,伙伴算法,进程空间,内存耗尽
相关内容
相关标签