我有一个连续运行的多进程
PHP(CLI)应用程序.最初,我使用的是PHP的标准Ubuntu 10.04包构建(5.3.2-1ubuntu4.18).但是,我正在尝试优化内存使用量,因为每个进程使用的内存量限制了我可以在任何给定时间运行的分叉数(因为我有可用的内存量有限).按照
preinheimer给出的建议,我重新编译PHP,禁用所有扩展,然后只重新启用我的应用程序所需的那些(MysqL,curl,pcntl,posix和json).我的configure命令是:
'./configure' '--prefix=/usr/local/PHPbare' '--with-config-file-path=/etc \ /PHP5/clibare' '--disable-all' '--with-MysqL=MysqLnd' '--with-curl' \ '--enable-pcntl' '--enable-posix' '--enable-json'
这个新的“裸骨”构建允许我的应用程序运行,但令我惊讶的是,当我使用top查看运行进程时,它使用与以前大致相同的内存量(甚至更有问题),它使用了大量的cpu时间(在top报告的数量通常为0-1%之前,通常是cpu的15-20%).是否有可能我缺少一些PHP扩展,它以某种方式优化脚本以使用更少的计算资源???或者Ubuntu构建是否可能针对Ubuntu架构进行了优化,而我的自定义构建缺少这些优化?如果是这样,我如何确定在Ubuntu构建中使用哪些优化,以便在我的“裸骨”构建中重新创建它们?
这是ps aux |输出的片段grep PHP,用于在下面的评论中证明我的观点:
root 12952 0.3 0.9 33176 4968 pts/2 S Feb14 11:15 s.PHP 5 root 12955 0.3 0.9 32664 4732 pts/2 S Feb14 11:12 s.PHP 5 root 12958 0.3 0.9 32664 4796 pts/2 S Feb14 10:51 s.PHP 5 root 12961 0.3 0.9 32740 4752 pts/2 S Feb14 11:07 s.PHP 5 root 14162 0.3 0.9 33000 4904 pts/2 S Feb14 10:51 s.PHP 5 root 14165 0.3 1.0 33256 5340 pts/2 S Feb14 10:56 s.PHP 5 root 23426 9.5 1.1 13492 6040 pts/2 S Feb15 151:38 s.PHP 1
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。