在linux下,查看一个运行中的程序,占用了多少内存

top -p 12345 -p 6789:每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况

1、linux下查看程序占用的内存可以使用命令行

linux如何查看内存占用情况_linux怎么看内存占用率linux如何查看内存占用情况_linux怎么看内存占用率


linux如何查看内存占用情况_linux怎么看内存占用率


ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

ps

|为管道符号,将查询出的结果导到下面的命令中进行下一步的作。

其中

VSZ(或VSS)列

表示,程序占用了多少虚拟内存。

RSS列

表示,

程序占用了多少物理内存。

虚拟内存可以不用考虑,它并不占用实际物理内存。

2、也可以使用图形工具系统监视器。大多系统都会自带。在启动器(在ubuntu为桌面左上ubuntu标志)里找到。

如何查看linux资源使用情况

如果感兴趣可以进一步参考文件/proc/mem,free命令就是根据它的信息生成的。free命令的源码可从procps-xxx-.src.rpm获取,xxx为版本号,比如procps-3.2.3-5.3.src.rpm。

Linux查看系统资源占用

PR:优先级

在系统维护的过程中,随时可能有需要查看 CPU和内存的使用率,并根据相应信息分析系统状况的需求。本文介绍一下几种常见的Linux系统资源查看命令。

1、总体内存占用的查看

命令:free

图1 free命令查看内存占用

(1) free命令默认是以kb为单位显示的,可以用free -m 用Mb单位来显示。

(2) Mem行 : total = used + free 其中buffers和cached虽然计算在used内, 但其实为可用内存。

(3) Mem下一行:used为真实已占内存,free为真实可用内存。

2、查看内存占用前五的进程

命令:ps auxw | head -1;ps auxw|sort -rn -k4|head -5

图 2.1查看内存占用前5的进程

如图2.1所示, 内存的单位是kb,VSZ是虚拟内存的占用,RSS是真实的内存的占用。

ps auxw显示系统资源占用情况;

head -1表示显示列,即标题列;

sort -r 表示反向排序,-n表示按数字排序,-k4表示列的第4个字符。

3、查看CPU占用前三的进程

命令:ps auxw|head -1;ps auxw|sort -rn -k3|head -3

图3.1 查看cpu占用前三的进程

该命令与图2.1相仿,只是选择的资源占用情况的第3列(即cpu),用“-k3”表示。

4、查看系统整体的负载

命令:top

图4.1 top显示系统整体负载

(1)行: 系统时间 + 系统运行时间 + 几个用户 + 1/5/15分钟系统平均负载

(2)第二行:进程总数(total) + 正在运行进程数(running) + 睡眠进程数(sleeping) + 停止的进程数(stopped)+ 僵尸进程数(zombie)

(3)第三行:用户空间CPU占比(us) + 内核空间CPU占比(sy)+ CPU空置率(id)

图4.2 各个任务占用资源情况

PID :进程ID

USER :用户名

PR :优先级

NI :负值表示高优先级,正值表示低优先级。

RES : 真实内存

S :进程状态 D=不可中断的睡眠状态; R=运行; S=睡眠 ;T=跟踪/停止; Z=僵尸进程

参数d 写入/etc/fstab,以便在时启用::

top -d 2 :每隔2秒显式所有进程的资源占用情况

top -c :每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)

top -d 2 -c -p 123456 :每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数

怎样用linux命令来查看内存使用情况

可用内存=free+buffers+cached,即2551mb+268mb+7mb=3737mb

查看linux下的内存使用情况,可以使用命令free

-m。注意此命令只在linux下有效,在freebsd中没有此命令。命令如下所示:

used:已经使用的内存数

free:空闲的内存数

shared:多个进程共享的内存总额

-buffers/cacfree:可注解:用有多少。he:(已用)的内存数,即used-buffers-cached

+buffers/cache:(可用)的内存数,即free+buffers+cached

得出结论:

可用内存的计算公式为:

怎样正确查看Linux的内存占用情况

所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached。

看内存最方便的命令是free -m,如:

c 启用交换分区:

[root@host ~]# free -m

total used free shared buffers cached

-/+ buffers/cache: 212 811

Swap: 996 0 995

[root@host ~]#

从上看出这个Linux系统一共有内存1024M,但当前Linux 系统已经占用的内存有多少呢?大多数用户的是1005M,其实不然。

当前VPS占用的内存应该是212M,也就是1005下面那个数字:212,代表已经占用的内存。后面的那个811,代表当前Linu所以,看内存使用情况,应该看"-/+ buffers/cache:"开头的这一行,如果这一行的数字接近0,那么说明Linux系统的内存快用完了,这时候Linux系统反应就比较慢。如果这个数字还比较大,那么Linux系统还有较多内存可用,系统不应该慢。x系统的可用内存。

"-/+ buffers/cache:"开头的这行才是实际的占用内存和可用内存。

linux查看系统内存大小

total 内存总数: 41456

在Linux下查看内存我们一般用free命令:

[root@scs-2 tmp]# free

total used free shared buffers cached

Mem: 3266180 3004 16176 0 110652 2668236

-/+ buffers/cache: 471116 2795064

Swap: 2048276 80160 1968116

下面是对这些数值的解释:

total:总计物理内存的大小。

used:已使 # mkswap /swapfile1用多大。

Shared:多个进程共享的内存SHR :共享内存总额。

Buffers/cached:磁盘缓存的大小。

第三行(-/+ buffers/cached):

used:已使用多大。

第四行就不多解释了。

区别:第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。 这两个的区别在于使用的角度来看,行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是16176KB,已用内存是3004KB,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.

如上例:

2795064=16176+110652+2668236

接下来解释什么时候内存会被交换,以及按什么方交换。 当可用内存少于额定值的时候,就会开会进行交换。

如何看额定值:

cat /proc/mem

如何查看 进程内存使用情况 linux

3.1 添加一个交换分区

在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况。运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q (在 top 运行中敲 q 键一次)。

二、可以使用下面命令查使用CPU最多的K个进程

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Win查看linux内存dows的任务管理器

可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:

$ top -u oracle

使用top命令查看。

Linux下如何查看哪些进程占用的CPU内存资源最多

VIRT :虚拟内存

linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合:

两种选择:添加一个交换分区或添加一个交换文件。你添加一个交换分区;不过,若你没有多少空闲空间可用,则添加交换文件。

ps aux|head -1;ps aux|grep -v Ptop 动态查看,就像windows的任务管理器不多。ID|sort -rn -k +3|head

linux下获取占用内存资源最多的10个进程,可以使用如下命令组合:

命令组合解析(针对CPU的,MEN也同样道理):

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

该命令组合实际上是下面两句命令:

ps aux|head -1

ps aux|grep -v PID|sort -rn -k +3|head

linux如何查看内存被哪些进程占用

本文章基于ThinkpadE15品牌、centos7系统撰写的。

输入top

MemTotal: 32941268 kB //内存32G

-d你说的配置空间是什么意思,不明白

2这条命令,top命令用于动态显示各个进程的资源占用情况,top命令常用的-d选项表示top命令的界面更新的秒数(默认是5秒更新一次),将-d选项设置成2则表示2秒更新一次。

top命令显示的下半部分就是是每个进程的资源使用情况,top命令默认是以CPU使用率排序的,这时在top界面上按下按键M,就可以让top显示的进程信息以内存的占用率进行排序,这样就能够知道内存都被哪些进程占用了。注:按键Q用于退出top命令界面。

怎样正确查看Linux的内存占用情况

free

total used free shared buffers cached

Mem: 41456 4130412 18744 0 13220 2720160

-/+ buffers/cache: 1397032 2752124

Swap: 6289408 144 6289264第1行

used 已经使用的内存数: 4130412

free 空闲的内存数: 18744

shared 当前已经废弃不用,总是0

cached Page Cache内存数: 2720160

关2、查看CPU:在SSH远程控制端,输入命令“top”,按下“Enter”回车键,即可看到cpu的使用率。系:troot 1 0.0 0.0 19352 1308 ? Ss Jul29 0:00 /in/initotal = used + free

第2行:

-/+ buffers/cache的意思相当于:

-buffers/cache 的内存数:1397032 (等于第1行的 used - buffers - cached)

+buffers/cache 的内存数: 2752124 (等于第1行的 free + buffers + cached)

可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。

第三行单独针对交换分区, 就不aux:用再说了.

为了提高磁盘存取效率, Linux做了一些精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。