iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >如何查看Linux系统中进程和用户的内存使用情况
  • 380
分享到

如何查看Linux系统中进程和用户的内存使用情况

2023-06-16 03:06:04 380人浏览 薄情痞子
摘要

这篇文章主要介绍了如何查看linux系统中进程和用户的内存使用情况,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。按照进程查看内存使用情况使用 toptop 是最好的查看内存使

这篇文章主要介绍了如何查看linux系统中进程和用户的内存使用情况,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

按照进程查看内存使用情况

使用 top

top 是最好的查看内存使用情况的命令之一。为了查看哪个进程使用着最多的内存,一个简单的办法就是启动 top,然后按下 shift+m,这样便可以查看按照内存占用百分比从高到底排列的进程。当你按下了 shift+m ,你的 top 应该会得到类似于下面这样的输出结果:

$toptop - 09:39:34 up 5 days, 3 min,  3 users,  load average: 4.77, 4.43, 3.72Tasks: 251 total,   3 running, 247 sleeping,   1 stopped,   0 zombie%Cpu(s): 50.6 us, 35.9 sy,  0.0 ni, 13.4 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 stMiB Mem :   5944.4 total,    128.9 free,   2509.3 used,   3306.2 buff/cacheMiB Swap:   2048.0 total,   2045.7 free,      2.2 used.   3053.5 avail Mem   PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND  400 nemo      20   0 3309580 550188 168372 S   0.3   9.0   1:33.27 WEB Content32469 nemo      20   0 3492840 447372 163296 S   7.3   7.3   3:55.60 firefox32542 nemo      20   0 2845732 433388 140984 S   6.0   7.1   4:11.16 Web Content  342 nemo      20   0 2848520 352288 118972 S  10.3   5.8   4:04.89 Web Content 2389 nemo      20   0 1774412 236700  90044 S  39.7   3.9   9:32.64 vlc29527 nemo      20   0 2735792 225980  84744 S   9.6   3.7   3:02.35 gnome-shell30497 nemo      30  10 1088476 159636  88884 S   0.0   2.6   0:11.99 update-manager30058 nemo      20   0 1089464 140952  33128 S   0.0   2.3   0:04.58 gnome-software32533 nemo      20   0 2389088 104712  79544 S   0.0   1.7   0:01.43 WebExtensions 2256 nemo      20   0 1217884 103424  31304 T   0.0   1.7   0:00.28 vlc 1713 nemo      20   0 2374396  79588  61452 S   0.0   1.3   0:00.49 Web Content29306 nemo      20   0  389668  74376  54340 S   2.3   1.2   0:57.25 Xorg32739 nemo      20   0  289528  58900  34480 S   1.0   1.0   1:04.08 RDD Process29732 nemo      20   0  789196  57724  42428 S   0.0   0.9   0:00.38 evolution-alarm 2373 root      20   0  150408  57000   9924 S   0.3   0.9  10:15.35 nessusd

注意 %MEM 排序。列表的大小取决于你的窗口大小,但是占据着最多的内存的进程将会显示在列表的顶端。

使用 ps

ps 命令中的一列用来展示每个进程的内存使用情况。为了展示和查看哪个进程使用着最多的内存,你可以将 ps 命令的结果传递给 sort 命令。下面是一个有用的示例:

$ ps aux | sort -rnk 4 | head -5nemo       400  3.4  9.2 3309580 563336 ?      Sl   08:59   1:36 /usr/lib/firefox/firefox -contentproc -childID 6 -isForBrowser -prefsLen 9086 -prefMapSize 210653 -parentBuildID 20200107212822 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 32469 true tabnemo     32469  8.2  7.7 3492840 469516 ?      Sl   08:54   4:15 /usr/lib/firefox/firefox -new-windownemo     32542  8.9  7.6 2875428 462720 ?      Sl   08:55   4:36 /usr/lib/firefox/firefox -contentproc -childID 2 -isForBrowser -prefsLen 1 -prefMapSize 210653 -parentBuildID 20200107212822 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 32469 true tabnemo       342  9.9  5.9 2854664 363528 ?      Sl   08:59   4:44 /usr/lib/firefox/firefox -contentproc -childID 5 -isForBrowser -prefsLen 8763 -prefMapSize 210653 -parentBuildID 20200107212822 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 32469 true tabnemo      2389 39.5  3.8 1774412 236116 pts/1  Sl+  09:15  12:21 vlc videos/edge_computing.mp4

在上面的例子中(文中已截断),sort 命令使用了 -r 选项(反转)、-n 选项(数字值)、-k 选项(关键字),使 sort 命令对 ps 命令的结果按照第四列(内存使用情况)中的数字逆序进行排列并输出。如果我们首先显示 ps 命令的标题,那么将会便于查看。

$ ps aux | head -1; ps aux | sort -rnk 4 | head -5USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDnemo       400  3.4  9.2 3309580 563336 ?      Sl   08:59   1:36 /usr/lib/firefox/firefox -contentproc -childID 6 -isForBrowser -prefsLen 9086 -prefMapSize 210653 -parentBuildID 20200107212822 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 32469 true tabnemo     32469  8.2  7.7 3492840 469516 ?      Sl   08:54   4:15 /usr/lib/firefox/firefox -new-windownemo     32542  8.9  7.6 2875428 462720 ?      Sl   08:55   4:36 /usr/lib/firefox/firefox -contentproc -childID 2 -isForBrowser -prefsLen 1 -prefMapSize 210653 -parentBuildID 20200107212822 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 32469 true tabnemo       342  9.9  5.9 2854664 363528 ?      Sl   08:59   4:44 /usr/lib/firefox/firefox -contentproc -childID 5 -isForBrowser -prefsLen 8763 -prefMapSize 210653 -parentBuildID 20200107212822 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 32469 true tabnemo      2389 39.5  3.8 1774412 236116 pts/1  Sl+  09:15  12:21 vlc videos/edge_computing.mp4

如果你喜欢这个命令,你可以用下面的命令为他指定一个别名,如果你想一直使用它,不要忘记把该命令添加到你的 ~/.bashrc 文件中。

$ alias mem-by-proc="ps aux | head -1; ps aux | sort -rnk 4"

下面是一些根据用户查看内存使用情况的命令:

按用户查看内存使用情况

使用 top

按照用户检查内存使用情况会更复杂一些,因为你需要找到一种方法把用户所拥有的所有进程统计为单一的内存使用量。

如果你只想查看单个用户进程使用情况,top 命令可以采用与上文中同样的方法进行使用。只需要添加 -U 选项并在其后面指定你要查看的用户名,然后按下 shift+m 便可以按照内存使用有多到少进行查看。

$ top -U nemotop - 10:16:33 up 5 days, 40 min,  3 users,  load average: 1.91, 1.82, 2.15Tasks: 253 total,   2 running, 250 sleeping,   1 stopped,   0 zombie%Cpu(s): 28.5 us, 36.8 sy,  0.0 ni, 34.4 id,  0.3 wa,  0.0 hi,  0.0 si,  0.0 stMiB Mem :   5944.4 total,    224.1 free,   2752.9 used,   2967.4 buff/cacheMiB Swap:   2048.0 total,   2042.7 free,      5.2 used.   2812.0 avail Mem   PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND  400 nemo      20   0 3315724 623748 165440 S   1.0  10.2   1:48.78 Web Content32469 nemo      20   0 3629380 607492 161688 S   2.3  10.0   6:06.89 firefox32542 nemo      20   0 2886700 404980 136648 S   5.6   6.7   6:50.01 Web Content  342 nemo      20   0 2922248 375784 116096 S  19.5   6.2   8:16.07 Web Content 2389 nemo      20   0 1762960 234644  87452 S   0.0   3.9  13:57.53 vlc29527 nemo      20   0 2736924 227260  86092 S   0.0   3.7   4:09.11 gnome-shell30497 nemo      30  10 1088476 156372  85620 S   0.0   2.6   0:11.99 update-manager30058 nemo      20   0 1089464 138160  30336 S   0.0   2.3   0:04.62 gnome-software32533 nemo      20   0 2389088 102532  76808 S   0.0   1.7   0:01.79 WebExtensions
使用 ps

你依旧可以使用 ps 命令通过内存使用情况来排列某个用户的进程。在这个例子中,我们将使用 grep 命令来筛选得到某个用户的所有进程。

$ ps aux | head -1; ps aux | grep ^nemo| sort -rnk 4 | moreUSER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDnemo     32469  7.1 11.5 3724364 701388 ?      Sl   08:54   7:21 /usr/lib/firefox/firefox -new-windownemo       400  2.0  8.9 3308556 543232 ?      Sl   08:59   2:01 /usr/lib/firefox/firefox -contentproc -childID 6 -isForBrowser -prefsLen 9086 -prefMapSize 210653 -parentBuildID 20200107212822 -greomni /usr/lib/firefox/omni.ja -appomni/usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 32469 true tabnemo     32542  7.9  7.1 2903084 436196 ?      Sl   08:55   8:07 /usr/lib/firefox/firefox -contentproc -childID 2 -isForBrowser -prefsLen 1 -prefMapSize 210653 -parentBuildID 20200107212822 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 32469 true tabnemo       342 10.8  7.0 2941056 426484 ?      Rl   08:59  10:45 /usr/lib/firefox/firefox -contentproc -childID 5 -isForBrowser -prefsLen 8763 -prefMapSize 210653 -parentBuildID 20200107212822 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 32469 true tabnemo      2389 16.9  3.8 1762960 234644 pts/1  Sl+  09:15  13:57 vlc videos/edge_computing.mp4nemo     29527  3.9  3.7 2736924 227448 ?      Ssl  08:50   4:11 /usr/bin/gnome-shell

使用 ps 和其他命令的搭配

如果你想比较某个用户与其他用户内存使用情况将会比较复杂。在这种情况中,创建并排序一个按照用户总的内存使用量是一个不错的方法,但是它需要做一些更多的工作,并涉及到许多命令。在下面的脚本中,我们使用 ps aux | grep -v COMMAND | awk '{print $1}' | sort -u 命令得到了用户列表。其中包含了系统用户比如 syslog。我们对每个任务使用 awk 命令以收集每个用户总的内存使用情况。在最后一步中,我们展示每个用户总的内存使用量(按照从大到小的顺序)。

#!/bin/bash stats=””echo "%   user"echo "============" # collect the datafor user in `ps aux | grep -v COMMAND | awk '{print $1}' | sort -u`do  stats="$stats\n`ps aux | egrep ^$user | awk 'BEGIN{total=0}; \    {total += $4};END{print total,$1}'`"done # sort data numerically (largest first)echo -e $stats | grep -v ^$ | sort -rn | head

这个脚本的输出可能如下:

$ ./show_user_mem_usage%   user============69.6 nemo5.8 root0.5 www-data0.3 shs0.2 whoopsie0.2 systemd+0.2 colord0.2 clamav0 syslog0 rtkit

感谢你能够认真阅读完这篇文章,希望小编分享的“如何查看Linux系统中进程和用户的内存使用情况”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网操作系统频道,更多相关知识等着你来学习!

--结束END--

本文标题: 如何查看Linux系统中进程和用户的内存使用情况

本文链接: https://www.lsjlt.com/news/282253.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何查看Linux系统中进程和用户的内存使用情况
    这篇文章主要介绍了如何查看Linux系统中进程和用户的内存使用情况,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。按照进程查看内存使用情况使用 toptop 是最好的查看内存使...
    99+
    2023-06-16
  • linux如何查看内存使用情况
    linux中查看内存使用情况的方法:1、打开终端;2、输入“free”命令查看内存使用情况即可。具体操作步骤:使用快捷键【Ctrl+Alt+T】打开终端命令行模式。输入以下命令查看内存使用情况即可。free #查看系统内存使用情况返回结果项...
    99+
    2022-10-13
  • 如何查看linux内存的使用情况
    本篇内容主要讲解“如何查看linux内存的使用情况”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何查看linux内存的使用情况”吧! 在 linux 中,/proc/$PID/sta...
    99+
    2023-06-09
  • Linux 查看进程和线程CPU和内存占用情况
    文章目录 Linux 查看进程有哪些线程Linux 查看程序内存占用情况 top和free等命令Linux 查看进程、线程数量 Linux 查看进程有哪些线程 linux 下查看进程内的线...
    99+
    2023-09-03
    linux 服务器 运维
  • Linux系统中如何查看磁盘使用情况
    这篇“Linux系统中如何查看磁盘使用情况”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“Linux系统中如何查看磁盘使用情况”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接...
    99+
    2023-06-28
  • linux怎么查看各个进程的内存占用情况
    在Linux系统中,可以使用以下命令来查看各个进程的内存占用情况:1. `top`命令:在终端中输入`top`命令可以实时查看系统的...
    99+
    2023-09-13
    Linux
  • 如何检查Linux中内存使用情况
    这篇文章给大家分享的是有关如何检查Linux中内存使用情况的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux 并不像 Windows,你经常不会有图形界面可供使用,特别是在服务器环境中。作为一名 Linux...
    99+
    2023-06-16
  • Linux系统下如何查看磁盘IO使用情况
    这篇文章主要为大家展示了Linux系统下如何查看磁盘IO使用情况,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“Linux系统下如何查看磁盘IO使用情况”这篇文章吧。1.iostat:1.1 命令格...
    99+
    2023-06-27
  • 如何使用Filelight查看Linux系统上的磁盘使用情况
    这篇文章给大家分享的是有关如何使用Filelight查看Linux系统上的磁盘使用情况的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。安装 FilelightFilelight 是 KDE 应用程序的一部分,并预装...
    99+
    2023-06-16
  • linux之如何查看进程占用网速和流量使用情况
    目录一、vnstat使用,查看接口统计报告二、iftop使用,检查带宽使用情况三、nethogs使用,按进程实时统计网络带宽利用率(推荐)总结有三个命令vnstat、iftop、nethogs(推荐) 都需要额外安装软件...
    99+
    2023-04-14
    linux查看进程 查看进程占用网速 查看进程流量使用
  • linux怎么查看进程占用网速和流量的使用情况
    这篇“linux怎么查看进程占用网速和流量的使用情况”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux怎么查看进程占用...
    99+
    2023-07-06
  • Linux系统下如何查看服务器的带宽和网络使用情况
    要在Linux系统下查看服务器的带宽和网络使用情况,可以使用一些命令行工具和系统工具来获取相关信息。下面将介绍几种常用的方法。 使用ifconfig命令 ifconfig命令可以用来查看网络接口的配...
    99+
    2023-10-20
    服务器 linux 网络
  • Linux系统如何查看服务器带宽及网络使用情况?
    要查看Linux服务器的带宽和网络使用情况,可以使用以下命令和工具: ifconfig命令:ifconfig命令用于显示和配置网络接口信息,包括带宽和网络使用情况。 使用以下命令查看所有网络接口的信息: ifconfig 该命令将显示每个网...
    99+
    2023-08-31
    服务器 linux 网络 运维 apache microsoft
  • Linux系统如何查看服务器带宽及网络使用情况
    文章目录 前言  linux查看服务器带宽具体方法  一、使用speedtest-cli命令查看下载和上传最大流量值  二、查看网卡、网络的详情   1.查看服务器网络端口   2.ethtool命令查看宽带大小   三、nl...
    99+
    2023-08-19
    linux 服务器 网络 宽带 运维
  • Linux系统如何查看最消耗cpu内存的进程
    这篇“Linux系统如何查看最消耗cpu内存的进程”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“Linux系统如何查看最消耗cpu内存的进程”,小编整理了以下知识点,请大家跟着小编的步伐一步一...
    99+
    2023-06-28
  • 如何实现shell脚本监控linux系统内存使用情况
    本篇内容介绍了“如何实现shell脚本监控linux系统内存使用情况”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、安装linux下面的一...
    99+
    2023-06-09
  • Linux中该如何查看当前CPU、内存、硬盘占用情况,如何判断当前服务器负载情况
    要查看当前 Linux 系统的 CPU、内存、硬盘占用情况,可以使用以下命令: 查看 CPU 占用情况: top 该命令会显示当前系统进程的 CPU 占用情况,以及每个进程占用的 CPU 百分比和内存使用情况等信息。 查看内存占用情况: f...
    99+
    2023-08-24
    服务器 运维
  • 如何用shell脚本监控系统负载、CPU和内存使用情况
    这篇文章主要讲解了“如何用shell脚本监控系统负载、CPU和内存使用情况”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用shell脚本监控系统负载、CPU和内存使用情况”吧!一、安装l...
    99+
    2023-06-09
  • Linux系统如何使用命令行的方式查看内存占用
    这篇文章给大家分享的是有关Linux系统如何使用命令行的方式查看内存占用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. /proc/meminfo一种最简单的方法是通过“/proc/meminfo”来检查内存...
    99+
    2023-06-28
  • Linux如何使用Pmap命令查看进程用了多少内存
    小编给大家分享一下Linux如何使用Pmap命令查看进程用了多少内存,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Pmap 提供了进程的内存映射,pmap命令用于...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作