热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux耗内存最大的进程,如何在Linux中找出内存消耗最大的进程

很多次,你可能遇见过系统消耗了过多的内存。如果是这种情况,那么最好的办法是识别出Linux机器上消耗过多内存的进程。我相信,你可能已经运行

f523fddec0580c8f0c4e43aaedcc4363.png

很多次,你可能遇见过系统消耗了过多的内存。如果是这种情况,那么最好的办法是识别出 Linux 机器上消耗过多内存的进程。我相信,你可能已经运行了下文中的命令以进行检查。如果没有,那你尝试过哪些其他的命令?我希望你可以在评论中更新这篇文章,它可能会帮助其他用户。

使用 top 命令 和 ps 命令 可以轻松的识别这种情况。我过去经常同时使用这两个命令,两个命令得到的结果是相同的。所以我建议你从中选择一个喜欢的使用就可以。

1) 如何使用 ps 命令在 Linux 中查找内存消耗最大的进程

ps 命令用于报告当前进程的快照。ps 命令的意思是“进程状态”。这是一个标准的 Linux 应用程序,用于查找有关在 Linux 系统上运行进程的信息。

它用于列出当前正在运行的进程及其进程 ID(PID)、进程所有者名称、进程优先级(PR)以及正在运行的命令的绝对路径等。

下面的 ps 命令格式为你提供有关内存消耗最大进程的更多信息。

#psaux--sort-rss|head

USER PID%CPU%MEM VSZ RSS TTY STAT START TIME COMMAND

mysql10643.25.4886076209988?SslOct2562:40/usr/sbin/mysqld

varnish233960.02.9286492115616?SLlOct250:42/usr/sbin/varnishd-P/var/run/varnish.pid-f/etc/varnish/default.vcl-a:82-T127.0.0.1:6082-S/etc/varnish/secret-s malloc,256M

named11050.02.7311712108204?SslOct250:16/usr/sbin/named-u named-c/etc/named.conf

nobody233770.22.315309689432?SOct254:35nginx:worker process

nobody233760.12.114709683316?SOct252:18nginx:worker process

root233750.01.713102866764?SsOct250:01nginx:master process/usr/sbin/nginx-c/etc/nginx/nginx.conf

nobody233780.01.613098864592?SOct250:00nginx:cache manager process

root11350.00.98670837572?S05:370:20cwpsrv:worker process

root11330.00.98670837544?S05:370:05cwpsrv:worker process

使用以下 ps 命令格式可在输出中仅展示有关内存消耗过程的特定信息。

#ps-eo pid,ppid,%mem,%cpu,cmd--sort=-%mem|head

PID PPID%MEM%CPU CMD

106415.43.2/usr/sbin/mysqld

23396233862.90.0/usr/sbin/varnishd-P/var/run/varnish.pid-f/etc/varnish/default.vcl-a:82-T127.0.0.1:6082-S/etc/varnish/secret-s malloc,256M

110512.70.0/usr/sbin/named-u named-c/etc/named.conf

23377233752.30.2nginx:worker process

23376233752.10.1nginx:worker process

36259771.90.0/usr/local/bin/php-cgi/home/daygeekc/public_html/index.php

2337511.70.0nginx:master process/usr/sbin/nginx-c/etc/nginx/nginx.conf

23378233751.60.0nginx:cache manager process

113530340.90.0cwpsrv:worker process

如果你只想查看命令名称而不是命令的绝对路径,请使用下面的 ps 命令格式。

#ps-eo pid,ppid,%mem,%cpu,comm--sort=-%mem|head

PID PPID%MEM%CPU COMMAND

106415.43.2mysqld

23396233862.90.0cache-main

110512.70.0named

23377233752.30.2nginx

23376233752.10.1nginx

2337511.70.0nginx

23378233751.60.0nginx

113530340.90.0cwpsrv

113330340.90.0cwpsrv

2) 如何使用 top 命令在 Linux 中查找内存消耗最大的进程

Linux 的 top 命令是用来监视 Linux 系统性能的最好和最知名的命令。它在交互界面上显示运行的系统进程的实时视图。但是,如果要查找内存消耗最大的进程,请 在批处理模式下使用 top 命令。

你应该正确地 了解 top 命令输出 以解决系统中的性能问题。

#top-c-b-o+%MEM|head-n20|tail-15

PID USER PR NI VIRT RES SHR S%CPU%MEM TIME+COMMAND

1064mysql2008860762097408388S0.05.462:41.20/usr/sbin/mysqld

23396varnish20028649211561683572S0.03.00:42.24/usr/sbin/varnishd-P/var/run/varnish.pid-f/etc/varnish/default.vcl-a:82-T127.0.0.1:6082-S/etc/varnish/secret-s malloc,256M

1105named2003117121082042424S0.02.80:16.41/usr/sbin/named-u named-c/etc/named.conf

23377nobody200153240894322432S0.02.34:35.74nginx:worker process

23376nobody200147096833162416S0.02.12:18.09nginx:worker process

23375root200131028667641616S0.01.70:01.07nginx:master process/usr/sbin/nginx-c/etc/nginx/nginx.conf

23378nobody20013098864592592S0.01.70:00.51nginx:cache manager process

1135root20086708375722252S0.01.00:20.18cwpsrv:worker process

1133root20086708375442212S0.01.00:05.94cwpsrv:worker process

3034root20086704367401452S0.00.90:00.09cwpsrv:master process/usr/local/cwpsrv/bin/cwpsrv

1067nobody2001356200315882352S0.00.80:56.06/usr/local/apache/bin/httpd-k start

977nobody2001356088312682372S0.00.80:30.44/usr/local/apache/bin/httpd-k start

968nobody2001356216305442348S0.00.80:19.95/usr/local/apache/bin/httpd-k start

如果你只想查看命令名称而不是命令的绝对路径,请使用下面的 top 命令格式。

#top-b-o+%MEM|head-n20|tail-15

PID USER PR NI VIRT RES SHR S%CPU%MEM TIME+COMMAND

1064mysql2008860762103408388S6.75.462:40.93mysqld

23396varnish20028649211561683572S0.03.00:42.24cache-main

1105named2003117121082042424S0.02.80:16.41named

23377nobody200153240894322432S13.32.34:35.74nginx

23376nobody200147096833162416S0.02.12:18.09nginx

23375root200131028667641616S0.01.70:01.07nginx

23378nobody20013098864592592S0.01.70:00.51nginx

1135root20086708375722252S0.01.00:20.18cwpsrv

1133root20086708375442212S0.01.00:05.94cwpsrv

3034root20086704367401452S0.00.90:00.09cwpsrv

1067nobody2001356200315882352S0.00.80:56.04httpd

977nobody2001356088312682372S0.00.80:30.44httpd

968nobody2001356216305442348S0.00.80:19.95httpd

3) 奖励技巧:如何使用 ps_mem 命令在 Linux 中查找内存消耗最大的进程

ps_mem 程序 用于显示每个程序(而不是每个进程)使用的核心内存。该程序允许你检查每个程序使用了多少内存。它根据程序计算私有和共享内存的数量,并以最合适的方式返回已使用的总内存。

它使用以下逻辑来计算内存使用量。总内存使用量 = sum(用于程序进程的专用内存使用量) + sum(用于程序进程的共享内存使用量)。

#ps_mem

Private+Shared=RAM usedProgram

128.0KiB+27.5KiB=155.5KiBagetty

228.0KiB+47.0KiB=275.0KiBatd

284.0KiB+53.0KiB=337.0KiBirqbalance

380.0KiB+81.5KiB=461.5KiBdovecot

364.0KiB+121.5KiB=485.5KiBlog

520.0KiB+65.5KiB=585.5KiBauditd

556.0KiB+60.5KiB=616.5KiBsystemd-udevd

732.0KiB+48.0KiB=780.0KiBcrond

296.0KiB+524.0KiB=820.0KiBavahi-daemon(2)

772.0KiB+51.5KiB=823.5KiBsystemd-logind

940.0KiB+162.5KiB=1.1MiBdbus-daemon

1.1MiB+99.0KiB=1.2MiBpure-ftpd

1.2MiB+100.5KiB=1.3MiBmaster

1.3MiB+198.5KiB=1.5MiBpickup

1.3MiB+198.5KiB=1.5MiBbounce

1.3MiB+198.5KiB=1.5MiBpipe

1.3MiB+207.5KiB=1.5MiBqmgr

1.4MiB+198.5KiB=1.6MiBcleanup

1.3MiB+299.5KiB=1.6MiBtrivial-rewrite

1.5MiB+145.0KiB=1.6MiBconfig

1.4MiB+291.5KiB=1.6MiBtlsmgr

1.4MiB+308.5KiB=1.7MiBlocal

1.4MiB+323.0KiB=1.8MiBanvil(2)

1.3MiB+559.0KiB=1.9MiBsystemd-journald

1.8MiB+240.5KiB=2.1MiBproxymap

1.9MiB+322.5KiB=2.2MiBauth

2.4MiB+88.5KiB=2.5MiBsystemd

2.8MiB+458.5KiB=3.2MiBsmtpd

2.9MiB+892.0KiB=3.8MiBbash(2)

3.3MiB+555.5KiB=3.8MiBNetworkManager

4.1MiB+233.5KiB=4.3MiBvarnishd

4.0MiB+662.0KiB=4.7MiBdhclient(2)

4.3MiB+623.5KiB=4.9MiBrsyslogd

3.6MiB+1.8MiB=5.5MiBsshd(3)

5.6MiB+431.0KiB=6.0MiBpolkitd

13.0MiB+546.5KiB=13.6MiBtuned

22.5MiB+76.0KiB=22.6MiBlfd-sleeping

30.0MiB+6.2MiB=36.2MiBphp-fpm(6)

5.7MiB+33.5MiB=39.2MiBcwpsrv(3)

20.1MiB+25.3MiB=45.4MiBhttpd(5)

104.7MiB+156.0KiB=104.9MiBnamed

112.2MiB+479.5KiB=112.7MiBcache-main

69.4MiB+58.6MiB=128.0MiBnginx(4)

203.4MiB+309.5KiB=203.7MiBmysqld

---------------------------------

775.8MiB

=================================

【编辑推荐】

【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0



推荐阅读
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 本文介绍了DataTables插件的官方网站以及其基本特点和使用方法,包括分页处理、数据过滤、数据排序、数据类型检测、列宽度自动适应、CSS定制样式、隐藏列等功能。同时还介绍了其易用性、可扩展性和灵活性,以及国际化和动态创建表格的功能。此外,还提供了参数初始化和延迟加载的示例代码。 ... [详细]
  • 怎么在PHP项目中实现一个HTTP断点续传功能发布时间:2021-01-1916:26:06来源:亿速云阅读:96作者:Le ... [详细]
  • 在编写业务代码时,常常会遇到复杂的业务逻辑导致代码冗长混乱的情况。为了解决这个问题,可以利用中间件模式来简化代码逻辑。中间件模式可以帮助我们更好地设计架构和代码,提高代码质量。本文介绍了中间件模式的基本概念和用法。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
author-avatar
遇遇yuyu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有