查看服务器内存使用情况,linux查看服务器内存

在实际工作环境中,一些linux服务器会部署大量服务,有些服务是部署在服务器本身,有些服务是部署在docker容器中,当某个进程因为某些原因开始占用大量内存或CPU时,通过top命令查看占用内存、CPU过高的进程,在用ps -ef|gre

在实际工作环境中,一些linux服务器会部署大量服务,有些服务是部署在服务器本身,有些服务是部署在docker容器中,当某个进程因为某些原因开始占用大量内存或CPU时,通过top命令查看占用内存、CPU过高的进程,在用ps -ef|grep 进程号,查看具体哪个进程时,无法识别这个进程是宿主机运行的,还是daocker'容器运行的。

今天给大家介绍一种可以排查进程是容器运行,还是宿主机运行的方法。

查看服务器内存使用情况,linux查看服务器内存一、 查看占用内存或CPU较高的进程

我们除了top命令以外,还可以用以下命令查看占用cpu和内存前十的进程

ps aux|head -1;ps aux|sort -rn -k +3|head #查看占用CPU前十的进程ps aux|head -1;ps aux|sort -rn -k +4|head #查看占用内存前十的进程

head 默认获取10行,可以在后面加-n 控制显示数量,如获取三行

ps aux|head -1;ps aux|sort -rn -k +3|head -3

我们先用top命令查看一下,发现靠前个是java进程,占用内存较高,我们需要对它做一些限制。

二、通过进程号查看进程运行在哪个容器

通过ps加参数的命令来获取,

ps -e -o pid,cmd,comm,cgroup | grep 21905#查看进程在哪个容器内运行

ps:21905是我们查出来一个占用内存较高进程的pid

通过这条命令可以发现这个进程是运行在9ea1fc99d7fb这个容器里的。在用docker ps|grep 容器id查看容器的具体信息。

docker ps|grep 9ea1fc99d7fb #可以查看这个容器的具体信息

知道了进程运行在哪个容器,就简单多了,通过docker命令进入到容器中,对进程做一些限制就可以了。

docker exec -it 9ea1fc99d7fb /bin/bash #进入到容器

以上就是小编给大家带来的关于'查看服务器内存使用情况,linux查看服务器内存'的探讨分享,希望大家通过阅读小编的文章之后能够有所收获!如果大家觉得小编的文章不错的话,可以多多分享给有需要的人。

版权:本文由用户自行上传,观点仅代表作者本人,本站仅供存储服务。如有侵权,请联系管理员,了解详情>>

发布
问题