当前位置| 科技 > > 列表>详情

关于SeedService背景的调查是什么?专业核心课程的课程设置是什么?

2023-02-21 15:53:10 来源:创视网

关于SeedService背景的调查是

几年前,在上家公司做了一个项目,暂且称之为SeedService吧。SeedService从kafka获取feed流的转、评、赞信息,加载到内存。因为每天数据不一样,所以kafka的topic也是按天来切分,整个server内部,类似于双指针实现,当天0点释放头一天的数据。

但是几天之后,进程开始无缘无故的消失。开始定位问题,最终发现是因为内存暴增导致OOM,最终被操作系统kill掉。

弄清楚了进程消失的原因之后,开始着手分析内存泄漏。在解决了几个内存泄露的潜在问题以后,发现系统在高压力高并发环境下长时间运行仍然会发生内存暴增的现象,最终进程因OOM被操作系统杀掉。

由于内存管理不外乎三个层面,用户管理层,C 运行时库层,操作系统层,在操作系统层发现进程的内存暴增,同时又确认了用户管理层没有内存泄露,因此怀疑是 C 运行时库的问题,也就是Glibc 的内存管理方式导致了进程的内存暴增。

问题缩小到glibc的内存管理方面,把下面几个问题弄清楚,才能解决SeedService进程消失的问题:

glibc 在什么情况下不会将内存归还给操作系统?

glibc 的内存管理方式有哪些约束?适合什么样的内存分配场景?

我们的系统中的内存管理方式是与glibc 的内存管理的约束相悖的?

glibc 是如何管理内存的?

带着上面这些问题,大概用了将近一个月的时间分析了glibc运行时库的内存管理代码,今天将当时的笔记整理了出来,希望能够对大家有用。

课程设置

专业核心课程与主要实践环节:电工电子技术、电机与电器制造工艺、机械设计、电气控制技术、电机与电器测试技术、控制电机、微机原理及应用、计算机辅助电机与电器设计、计算机网络、金工实习、电工电子实习、计算机辅助电机与电器设计课程设计、微机原理课程设计、专业综合实习、毕业实习(设计)等,以及各校的主要特色课程和实践环节。

标签: 背景的调查是 课程设置 专业核心课程