记录器文件在生产环境中耗尽内存

时间:2012-04-26 09:08:43

标签: c

我正在使用C编程语言的freopen函数来跟踪

  1. 执行的功能
  2. 警告信息
  3. 遇到错误
  4. 将所有stderr消息路由到指定的文本文件。这在测试平台环境中运行良好。但是在生产中,我们遇到了使用freopen()打开的日志文件的内存不足异常,并且服务器崩溃了。我需要你帮助解决这个问题。

1 个答案:

答案 0 :(得分:2)

确保您的日志记录代码没有泄漏资源。

我假设您正在讨论的freopen()函数,分配内存以保存FILE结构,并且很可能是例如额外的空间。缓冲I / O.

完成文件后,除非进程即将终止,否则必须对fclose()返回的指针调用freopen()

当然,您的代码中可能存在任何数量的其他资源泄漏。没有看到代码就很难做到这一点。