登录
首页 >  Golang >  Go问答

如何在 Go 中强制从 Shell 进行垃圾回收

来源:stackoverflow

时间:2024-04-09 18:27:33 243浏览 收藏

编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天golang学习网就整理分享《如何在 Go 中强制从 Shell 进行垃圾回收》,文章讲解的知识点主要包括,如果你对Golang方面的知识点感兴趣,就不要错过golang学习网,在这可以对大家的知识积累有所帮助,助力开发能力的提升。

问题内容

您可以使用 jcmd GC.run 在 Java 中强制进行垃圾回收,如 StackOverflow 链接所示:如何从 Shell 强制进行垃圾回收? 。我知道强制垃圾收集是不受欢迎的,但我想知道 golang 是否有类似的命令。像这个问题一样,我想知道垃圾收集是否可以从命令行完成,而不是调用 Runtime.GC()。


解决方案


无法从命令行运行 GC。认为你的程序是一个独立的编译版本。 如果您需要“强制”GC在特定时间运行,我认为您可以使用两个公式:

  1. 在您的应用程序中,使用 inotify 检查文件是否存在。当文件出现时,您运行 GC
  2. 在您的应用程序中,等待来自操作系统 (Linux) 的信号(例如 SIGUSR1),然后运行 ​​GC。然后,您可以使用以下命令从控制台发送信号:

    kill -10 pid

其中 pid 是正在运行的程序的标识符,如 ps -aux 中所示

好了,本文到此结束,带大家了解了《如何在 Go 中强制从 Shell 进行垃圾回收》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>