加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

<linux>查看系统内存占用

发布时间:2020-12-14 00:38:52 所属栏目:Linux 来源:网络整理
导读:1. 查看内存情况 free -h ? 解释下基本概念 Mem ?内存的使用信息 Swap ?交换空间的使用信息 total ?系统总的可用物理内存大小 used ?已被使用的物理内存大小 free ?还有多少物理内存可用 shared ?被共享使用的物理内存大小 buff/cache ?被 buffer 和 cache

1.查看内存情况

free -h

?

解释下基本概念

Mem?内存的使用信息
Swap?交换空间的使用信息
total?系统总的可用物理内存大小
used?已被使用的物理内存大小
free?还有多少物理内存可用
shared?被共享使用的物理内存大小
buff/cache?被 buffer 和 cache 使用的物理内存大小
available?还可以被使用的物理内存大小(即系统可用内存约等于free+shared+buff/cache)

2.top查看内存占用,shift+m按MEN占用降序

top详解请参考:https://www.cnblogs.com/zhoug2020/p/6336453.html

?

?可以看出PID为45685的进程占用内存较多

?

?

?3.查看45685进程的线程情况

ps p?45685 -L -o pcpu,pmem,pid,tid,time,tname,cmd

?

?

?PID:45685的进程产生了很多线程。

?

?

4.使用ps命令:ps -ef | grep java | grep -v grep

?

查看当前java进程列表

可以看到java进程是Tomcat的启动进程,开启多个Tomcat启动进程,并且是同一个端口。由此,可以判断,是因为关闭Tomcat服务时,java进程没有自动关闭,导致内存没有释放。

5.使用lsof命令:lsof | grep java |grep -v grep >> 1.log

?

查看当前进程的运行状态

?

vi 1.log?

按:输入/ESTABLISHED,找到正常运行的进程

?

发现307100的进程运行正常

?

kill掉其余的进程

kill -9 PID

?

?

?

?原文链接:https://www.cnblogs.com/eeexu123/p/10913389.html

?

最后定位到是tomcat运行的jenkins的问题,具体问题正在排查。

排查的过程中起初以为是tomcat内存优化的问题,特此找到tomcat正确的jvm内存配置方案。

原文链接: https://blog.csdn.net/acwa123/article/details/72626921

Tomcat并不建议直接在catalina.sh里配置变量,而是写在与catalina同级目录(bin目录)下的setenv.sh里。

所以如果我们想要修改jvm的内存配置,那么我们就需要修改setenv.sh文件(如果没有就新建一个setenv.sh),写入(大小根据自己情况修改):

export CATALINA_OPTS="$CATALINA_OPTS -Xms1600m"export CATALINA_OPTS="$CATALINA_OPTS -Xmx1600m"export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=256m"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读