CentOS8安装Geant4笔记(三):Geant4介绍、编译、安装支持Qt5界面并运行exampleB1例程显示Qt界面

CentOS8 .2 ,这个系统还是比较新的。
我安装了Geant4 ,我是2 02 2 年做的。
这个东西,模拟粒子,用于高能物理、核物理和医学。
版本是4 .1 1 ,2 02 1 年1 2 月1 0日发布,安装过程有点长,但是很具体。

首先,环境要准备好。
CentOS8 .2 上缺少gcc、g++和cmake,需要安装。
命令是 yum install gcc g++ cmake。
我当时就傻了,不知道为什么不行。
检查了半天,发现是系统自带的库有问题。
也许我有偏见,认为这个系统不好。
但只要戴上就可以了。

然后下载源代码。
官方网站很大,所以需要一些时间。
下载后解压,放到指定目录下。
我这个阶段还好,没啥问题。

编译安装,这一步是最烦人的。
首先你需要安装expat,这是一个库。
安装完成后,使用CMake进行配置。
指定安装路径、构建类型等。
当时我在设置 Qt5 支持时遇到了一些问题。
CLHEP,这个库必须单独下载安装。
CLHEP 和 Xerces-C 都是依赖库。
安装时yum无法安装,需要自己找源。
我当时就很迷茫,找了好久。
可能我的电脑网络不好。

配置完成后,编译。
这一步需要很多时间。
编译过程中,又出现了一个问题。
omot-devel、zlib-devel、libXmu-devel,所有这些都必须使用 yum 安装。
这一步我花了好久,终于安装好了。
编译完成后,使用make install将其安装到系统中。
这一步终于完成了。

环境配置和测试。
安装后需要添加环境变量。
路径和一切都必须改变。
然后在example目录下使用make进行编译。
编译完成后,运行./exampleB1 这件事是一个考验。
我导演了,如果我能做到,那就成功了。
展示了完整的安装和运行过程。

centos8.2是国产的吗

CentOS8 .2 是一个真正的Linux系统。
国产软件当然是中国制造。
主要用于开发和服务计算机。
操作源代码意味着查看代码并对其进行更改。
中关村在线是一个非常值得信赖的网站。

gitlab 502 bundle占用cpu100%问题(puma.pid权限问题)解决方案

说实话,我上次安装GitLab1 4 的时候也遇到过5 02 陷阱。
这东西实在是太无聊了,所以我得一一尝试。
您提到的故障排除说明都是正确的。
下面我就给大家详细介绍一下我的操作经验。

我们先来说说端口。
安装后发现和其他服务有冲突。
GitLab配置文件中用于外部访问的puma端口和external_url端口应分别监控。
我记得我用过 ss -tulnp | grep 8 0 直接查看端口,发现8 0端口被其他进程占用。
我很快停止了该服务,GitLab 能够立即连接。

我两次遇到授权问题。
第一次直接在日志中报“Permission Denied”错误。
我跑去找puma.pid和puma.state文件,发现主人错了。
使用 ls -l /var/run/puma 查看一下。
糟糕,当前用户根本无法读取或写入。
直接chmod 7 7 7 解决了,但是后来我想还是给特定用户赋予权限比较好,不然会有巨大的安全风险。
我们的教训是,更改 Linux 权限时需要非常小心。

在传统实践中,调整独角兽工人的数量是有效的。
我有一个4 核8 G的客户端服务器,但是安装GitLab后,CPU跳到1 00%。
将worker改为2 后,负载立即下降。
调整设置时我特别小心。
每次更改后我首先使用 gitlab-rake gitlab:sidekiq:rebuild 清除缓存,否则可能会导致新的问题。

在内存和交换分区方面,遇到了生产环境突然崩溃的情况。
使用free -m可以看到物理内存只剩下5 00MB,交换区实际上已经满了。
服务员半夜起来,我心里焦急万分。
赶紧启用swapon,使用1 G文件作为交换区,第二天重启就一切正常了。
这让我意识到GitLab对资源的需求很高,尤其是在CI/CD方面。

关于Prometheus压CPU,我看了飞鱼的文章,了解到一个有趣的操作:将Prometheus从docker移到宿主机上,使用systemd来管理。
容器之间的通信本质上会产生开销。
切换到主机后,CPU占用率直接从7 0%下降到1 5 %。
不过这种方式存在风险,需要保证Prometheus和GitLab版本兼容。

最后说一下我踩过的坑:GitLab1 4 默认的日志级别是info,出问题时根本看不到详细信息。
在debug中更改后,发现是Ruby版本问题。
更改配置时要非常小心。
更改后使用 gitlab-ctl reconfigure 重新启动。
不要直接停止服务,否则可能会崩溃。

其实解决这类问题最关键的是先定位。
我有一个特别有效的方法:在服务器上打开一个屏幕,然后一步步检查,并在每一步后保存快照。
例如,改变先修改端口,没问题的话再修改权限,这样更容易恢复。
如果实在想不通,我也会用 strace -f -p 来跟踪进程的系统调用,有时还能发现意想不到的问题。

数据记得不太清楚了,不过有一个有趣的实验:GitLab安装在KVM虚拟机上,CPU限制为2 核,内存1 GB,居然可以运行!当然,这只是测试环境,生产环境应该遵循推荐的配置。
我记得GitLab1 4 官方文档说建议至少有2 GB内存。
在实际使用中,我发现这还是远远不够的,尤其是当管道数量较多时。

说实话,GitLab安装很容易,但是要让它正常运行却需要花很大的力气。
你提到的所有文章我都看过,特别是轻量级挖矿方案,学到了很多优化技巧。
例如,将 gitlab-runner 限制在特定的容器中,与主服务进行物理隔离,减少耦合。