OTRS 6.0 - /opt/otrs/bin/c CPU 使用率
大家好,
在 OTRS 6.0 上,登录 otrs/index.pl 时 /opt/otrs/bin/c 进程使用率为 100%:
3104 apache 20 0 441496 79904 6308 R 100.0 0.2 0:06.05 /opt/otrs/bin/c
4.1 分钟后网页显示,之后 /opt/otrs/bin/c 进程完成并且 OTRS 快速响应。
我不知道是否存在相关性,但我发现了这个旧线索:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=821848 https://access.redhat.com/security/cve/cve-2015-8853
我在 CentOS 7.6 上使用 perl v5.16.3
如果问题涉及 perl 版本(正则表达式问题),升级版本的最佳做法是什么(不在官方 repo 中)?
Redhat 的 scl 写道:“不幸的是,解决这些问题并不容易,因为我们将失去不影响底层基础系统的能力,而这正是软件集合技术的主要特点。”通过编译(cpan……),打破了 yum 依赖并安装了许多构建包
OTRS Perl 脚本使用 #!/usr/bin/perl shebang。
预先感谢
答案1
我在使用最新版本的 OTRS(6 补丁级别 19)和 CentOS 7.6 上的 perl 5.16.3 时也遇到了类似的问题。
在我这边,由于 /opt/otrs/bin/c 进程挂起(但没有 CPU 利用率),我无法打开登录屏幕。
如果我重新启动 Apache httpd 服务,它不会立即重新启动,而是等待该过程结束。
今天我发现了一种将 perl 升级到 5.26 并安装所有请求的 perl 模块(通过 OTRS)的“肮脏的方法”。
我已经测试这个解决方案几天了,它似乎很有效。不幸的是,这个问题完全是随机的,所以我必须再等几天。
这是解决方法(CentOS 7.6)
安装 centos-release-scl 和一些其他的东西
yum 更新
yum 安装 centos-release-scl
yum 安装 rh-perl526
yum 安装 gcc
yum 安装 openssl-devel.x86_64
yum 安装 rh-perl526-perl-CPAN.noarch
yum 安装 rh-perl526-perl-DBD-MySQL.x86_64
yum 安装 rh-perl526-perl-Encode-devel.x86_64
yum 安装 expat-devel.x86_64
yum 安装 rh-perl526-mod_perl.x86_64
yum 安装 rh-perl526-perl-DateTime.x86_64
yum 安装 rh-perl526-perl-YAML.noarch
使用 perl 5.26 启用“特殊”bash
scl 启用 rh-perl526 bash
cpan Crypt::Eksblowfish::Bcrypt
cpan Crypt::SSLeay
cpan 编码::HanExtra
cpan IO::套接字::SSL
cpan JSON::XS
cpan Mail::IMAPClient
cpan Authen::SASL
cpan 网络::DNS
cpan 模板
cpan 文本::CSV_XS
cpan XML::LibXML
cpan XML::LibXSLT
cpan XML::解析器
cpan 网络::LDAP
cpan YAML::XS
通过 OTRS 检查所需模块
/opt/otrs/bin/otrs.CheckModules.pl
使 perl 5.26 对所有用户和 cron 持久化
将行附加到 /etc/profile
导出 LD_LIBRARY_PATH=/opt/rh/rh-perl526/root/usr/lib64 导出 PATH=/opt/rh/rh-perl526/root/usr/local/bin:/opt/rh/rh-perl526/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
将行附加到 /etc/environment
LD_LIBRARY_PATH=/opt/rh/rh-perl526/root/usr/lib64 PATH=/opt/rh/rh-perl526/root/usr/local/bin:/opt/rh/rh-perl526/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin