├── LICENSE └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 oscomp 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # proj19-process-memory-tracker 2 | ### 项目名称 3 | 实时统计进程内存使用及检测内存泄漏 4 | 5 | ### 项目描述 6 | 7 | 在linux平台上开发一个工具,此工具可以实时显示想要观察的进程的内存使用情况以及可能的内存泄漏问题,具体要求如下: 8 | 9 | - 实时统计系统中各进程及其中包含的线程的内存使用情况; 10 | 11 | - 检测某个进程中的内存泄漏问题,包括:内存,文件句柄的泄漏情况,把检测情况实时显示或是输出到指定文件; 12 | 13 | ### 所属赛道 14 | 15 | 2021全国大学生操作系统比赛的“OS功能设计”赛道 16 | 17 | ### 参赛要求 18 | 19 | - 以小组为单位参赛,最多三人一个小组,且小组成员是来自同一所高校的本科生(2021年春季学期或之后本科毕业的大一~大四的学生) 20 | - 如学生参加了多个项目,参赛学生选择一个自己参加的项目参与评奖 21 | - 请遵循“2021全国大学生操作系统比赛”的章程和技术方案要求 22 | 23 | 24 | 25 | ### 项目导师 26 | 27 | **鄢军** 28 | 29 | * github 30 | 31 | * email yanjun0901@thundersoft.com 32 | 33 | ### 难度 34 | 35 | 中 36 | 37 | ### 特征 38 | 39 | - 实时显示数据时注意对系统性能的影响; 40 | 41 | - 工具面向的是C/C++编写的程序; 42 | 43 | ### 平台实现注意事项 44 | 45 | - 工具要能兼容大多数linux操作系统并具有可移植性; 46 | 47 | - 需要对操作系统内存管理有比较深入的理解; 48 | 49 | ### License 50 | 51 | * [The MIT License](https://opensource.org/licenses/MIT) 52 | * [MulanPSL - 2.0](https://opensource.org/licenses/MulanPSL-2.0) 53 | 54 | ## 预期目标 55 | 56 | ### 注意:下面的内容是建议内容,不要求必须全部完成。选择本项目的同学也可与导师联系,提出自己的新想法,如导师认可,可加入预期目标 57 | 58 | ### 第一题:实时统计系统进程及其中线程内存使用情况 59 | 60 | - 编码来实现对于内存使用信息的统计,并对内存统计数据进行进行排序并实时显示; 61 | 62 | ### 第二题:检测某个进程中的内存分配释放 63 | 64 | - 编码实现检测具体进程中内存分配与释放; 65 | 66 | - 编码实现检测具体进程中文件句柄的分配与释放; 67 | 68 | ### 第三题:检测某个进程中的内存是否存在泄漏 69 | 70 | - 统计进程内存分配和释放的情况,确认是否存在泄漏情况,如有泄漏指出泄漏可疑处代码; --------------------------------------------------------------------------------