小编muh*_*mad的帖子

pprof 和 ps 之间的内存使用差异

我一直在尝试分析用 cobra 构建的 cli 工具的堆使用情况。该pprof工具显示如下,

Flat    Flat%   Sum%    Cum Cum%    Name    Inlined?
1.58GB  49.98%  49.98%  1.58GB  49.98%  os.ReadFile 
1.58GB  49.98%  99.95%  1.58GB  50.02%  github.com/bytedance/sonic.(*frozenConfig).Unmarshal    
0       0.00%   99.95%  3.16GB  100.00% runtime.main    
0       0.00%   99.95%  3.16GB  100.00% main.main   
0       0.00%   99.95%  3.16GB  100.00% github.com/spf13/cobra.(*Command).execute   
0       0.00%   99.95%  3.16GB  100.00% github.com/spf13/cobra.(*Command).ExecuteC  
0       0.00%   99.95%  3.16GB  100.00% github.com/spf13/cobra.(*Command).Execute   (inline)
0       0.00%   99.95%  3.16GB  100.00% github.com/mirantis/broker/misc.ParseUcpNodesInspect    
0       0.00%   99.95%  3.16GB  100.00% github.com/mirantis/broker/cmd.glob..func3  
0       0.00%   99.95%  3.16GB  100.00% github.com/mirantis/broker/cmd.getInfos 
0       0.00%   99.95%  3.16GB  100.00% …
Run Code Online (Sandbox Code Playgroud)

linux go memory-profiling pprof heap-profiling

4
推荐指数
1
解决办法
2195
查看次数

在docker CentOS 7容器内启动服务

我想在CentOS 7容器上启动httpd服务.但是systemctl命令在容器中不起作用.在CentOS 6中,我可以通过简单地使用/etc/init.d/apachectl -d命令启动httpd .但是在CentOS 7中我找不到任何apachectl文件/*/systemd/.

那么如何在CentOS 7容器中启动httpd服务呢?

apache docker centos7

3
推荐指数
1
解决办法
5523
查看次数

如何列出网络;使用格式模板附加 docker 容器?

当我想检查桥驱动程序连接到的容器列表时,我执行以下操作,

docker network inspect br01 --format='{{range .Containers}}{{println .Name}}{{end}}'
Run Code Online (Sandbox Code Playgroud)

给出以下输出,

network-test01
network-test02
network-test03
Run Code Online (Sandbox Code Playgroud)

但是如何做同样的事情来列出容器连接到的网络驱动程序呢?

以下是 docker 检查,

.....
            "Networks": {
                "br01": {
                    "IPAMConfig": {},
                    "Links": null,
                    ........
                },
                "bridge": {
                    "IPAMConfig": null,
                    .....
                }
.....
Run Code Online (Sandbox Code Playgroud)

我只想列出如下网络,

br01
bridge
Run Code Online (Sandbox Code Playgroud)

我已经尝试了以下方法,但由于我对 go 模板的了解有限,无法正确使用该模板。

docker inspect network-test01 --format "{{.NetworkSettings.Networks}}"
Run Code Online (Sandbox Code Playgroud)

结果如下,

map[br01:0xc0000f6180 bridge:0xc0000f6cc0]
Run Code Online (Sandbox Code Playgroud)

go go-templates docker

3
推荐指数
1
解决办法
2780
查看次数

Terraform - 如何创建可选数据块

我创建了一些数据块来查找合适的 AMI。我有 4 个数据块来查找基于 4 个操作系统的 4 个 AMI。例子,

data "aws_ami" "centos" {
    owners = ["123456789"]
    most_recent = true
    filter {
        name = "name"
        values = ["CentOS*${var.os-version}*x86_64"]
    }
}
data "aws_ami" "suse" {
    owners = ["amazon"]
    most_recent = true
    filter {
        name = "name"
        values = ["suse-sles-${var.os-version}-sp*-v????????-hvm-ssd-x86_64"]
    }
}
Run Code Online (Sandbox Code Playgroud)

我像下面这样称呼他们ami_id=data.${os_name}.image-id

所以我想要的是只运行已经被调用的数据块。如果用户选择“suse”,则仅运行 suse 数据块。不是所有的人。现在这是一个问题,因为用户根据操作系统选择版本。例如,16.04 仅适用于 ubuntu,不适用于其他任何版本,因此其他数据块会抛出如下异常,

Error: Your query returned no results. Please change your search criteria and try again.

  on main.tf line 79, in data "aws_ami" "suse":
  79: data …
Run Code Online (Sandbox Code Playgroud)

terraform terraform-provider-aws

1
推荐指数
1
解决办法
4327
查看次数