Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何评估linux中speccific command/docker的CPU和Mem使用情况?_Linux_Docker_Resources_Kubernetes - Fatal编程技术网

如何评估linux中speccific command/docker的CPU和Mem使用情况?

如何评估linux中speccific command/docker的CPU和Mem使用情况?,linux,docker,resources,kubernetes,Linux,Docker,Resources,Kubernetes,我正在为docker中运行的脚本编写yaml文件,并由kubernetes协调。有没有办法评估特定命令或docker的资源利用率,或者为POD设置cpu和mem限制的最佳实践是什么 编辑 大多数脚本将在短时间内运行,因此很难获取资源信息。我只是想找到一个工具来最大限度地利用cpu和mem,该工具的工作原理类似于time,用于打印执行时间。您可以使用docker stats命令查看容器的统计信息 比如, docker stats containera containerb CONTAINER

我正在为docker中运行的脚本编写yaml文件,并由kubernetes协调。有没有办法评估特定命令或docker的资源利用率,或者为POD设置cpu和mem限制的最佳实践是什么

编辑


大多数脚本将在短时间内运行,因此很难获取资源信息。我只是想找到一个工具来最大限度地利用cpu和mem,该工具的工作原理类似于
time
,用于打印执行时间。

您可以使用
docker stats
命令查看容器的统计信息

比如,

docker stats containera containerb

CONTAINER           CPU %               MEM USAGE / LIMIT     MEM %               NET I/O               BLOCK I/O
containera          0.00%               24.15 MB / 1.041 GB   2.32%               1.8 MB / 79.37 kB     0 B / 81.92 kB
containerb          0.00%               24.95 MB / 1.041 GB   2.40%               1.798 MB / 80.72 kB   0 B / 81.92 kB
或者,请参阅使用
docker top在容器中运行的进程

有限的资源 Docker compose(与Docker本身一样)允许您为容器设置资源限制,例如,限制使用的最大内存量、cpu共享等


阅读中的本节,以及上的docker run参考。您可以使用
docker stats
命令查看容器的统计信息

比如,

docker stats containera containerb

CONTAINER           CPU %               MEM USAGE / LIMIT     MEM %               NET I/O               BLOCK I/O
containera          0.00%               24.15 MB / 1.041 GB   2.32%               1.8 MB / 79.37 kB     0 B / 81.92 kB
containerb          0.00%               24.95 MB / 1.041 GB   2.40%               1.798 MB / 80.72 kB   0 B / 81.92 kB
或者,请参阅使用
docker top在容器中运行的进程

有限的资源 Docker compose(与Docker本身一样)允许您为容器设置资源限制,例如,限制使用的最大内存量、cpu共享等


请阅读中的这一部分,以及

上的docker run参考。该问题有一些很好的答案:

TL;DR
/usr/bin/time-v
或使用
valgrind

这将帮助您了解需要分配多少内存作为应用程序的限制,但CPU有点不同。如果你的应用程序是CPU受限的,那么不管你设置了什么限制,它都会使用你给它的所有CPU。此外,在Kubernetes中,您将内核(或毫内核)分配给应用程序,因此了解任何特定机器上使用了多少%的CPU并不总是非常有用,因为这不容易转化为内核

你应该给你的应用程序提供尽可能多的CPU核心,让你的应用程序在可接受的时间内成功。这将取决于成本和集群中可用的内核数量。这还取决于你的应用程序的架构。例如,如果应用程序不能利用多个核,那么多给它一个核就没有多大用处了

如果您有任何不再运行的应用程序,您可以尝试安装。如果您安装了Heapster,那么Kubedash将使用Kubernetes的内置指标来显示平均和最大CPU/内存利用率。当试图找出分配给特定应用程序的请求和限制时,它会有很大帮助


希望有帮助

这个问题有一些很好的答案:

TL;DR
/usr/bin/time-v
或使用
valgrind

这将帮助您了解需要分配多少内存作为应用程序的限制,但CPU有点不同。如果你的应用程序是CPU受限的,那么不管你设置了什么限制,它都会使用你给它的所有CPU。此外,在Kubernetes中,您将内核(或毫内核)分配给应用程序,因此了解任何特定机器上使用了多少%的CPU并不总是非常有用,因为这不容易转化为内核

你应该给你的应用程序提供尽可能多的CPU核心,让你的应用程序在可接受的时间内成功。这将取决于成本和集群中可用的内核数量。这还取决于你的应用程序的架构。例如,如果应用程序不能利用多个核,那么多给它一个核就没有多大用处了

如果您有任何不再运行的应用程序,您可以尝试安装。如果您安装了Heapster,那么Kubedash将使用Kubernetes的内置指标来显示平均和最大CPU/内存利用率。当试图找出要分配给特定应用程序的请求和限制时,它会有很大帮助


希望有帮助

谢谢!大多数Docker都在短时间内运行,我认为很难通过top或ps等工具进行监控。我读过“资源的运行时约束”,这很有用,但我很好奇如何设置适当的限制。提前感谢。
docker stats
通过docker remove API获取其数据。如果您正在实现自动化,则可以收集这些统计数据并将其存储在堆栈中。或者使用>“我很好奇如何设置适当的限制。”这是一个很难回答的问题,因为这实际上取决于您的用例。最好总是在容器上设置内存限制,以防止容器耗尽主机的所有可用内存,并(可能)导致内核“OOM”杀死随机进程。谢谢!大多数Docker都在短时间内运行,我认为很难通过top或ps等工具进行监控。我读过“资源的运行时约束”,这很有用,但我很好奇如何设置适当的限制。提前感谢。
docker stats
通过docker remove API获取其数据。如果您正在实现自动化,则可以收集这些统计数据并将其存储在堆栈中。或者使用>“我很好奇如何设置适当的限制。”这是一个很难回答的问题,因为这实际上取决于您的用例。最好总是在容器上设置一个内存限制,以防止容器耗尽主机的所有可用内存,并(可能)导致内核“OOM”杀死随机进程。清楚而详细,这是非常有用的!非常感谢!清晰而详细,这是再好不过的帮助了!非常感谢!