2012-06-27 17:43:43 iteye_12411 阅读数 105
  • 韦东山嵌入式Linux第一期视频

    掌握写汇编代码的能力,可以分析任意裸板包括U-boot、内核里的相关汇编代码; 掌握常用的硬件部件的操作,比如GPIO,UART,I2C,LCD,触摸屏; 深入理解ARM体系统架构,可以写出具备中断功能的裸板程序,对程序现场的保存、恢复有所了解,这些原理适用于任何架构CPU,适用于内核及应用程序; 熟悉裸板程序的结构,给你一个Bootloader就能分析它的初始化部分、内存使用情况、链接地址、重定位、程序的相对跳转/绝对跳转等;掌握Bootloader启动内核的原理,能完全自己写出一个Bootloader。

    231136 人正在学习 去看看 韦东山

下面介绍使用top和free命令查看系统中空闲内存

所以你执行top命令看到的
[root@linuxzgf ~]# top
   
Mem: 8174492k total, 7124268k used,并不是代表你的应用程序已经使用了7.1的内存,这7.1G是包含了:应用程序内存 + 缓冲 + 缓存的内存的,需要用free命令查看.

下面是一个例子(单位是MB):

[root@linuxzgf ~]# free -m
                    total       used       free     shared    buffers     cached
Mem:          7982       6811       1171          0        350       5114
-/+ buffers/cache:       1346       6636
Swap:        16935         11      16924
[root@linuxzgf ~]# 
在这里例子中,应用程序只使用了1346MB内存,还有6636MB空闲内存可以使用. 

一些简单的计算方法: 

物理已用内存 = 实际已用内存 - 缓冲 - 缓存 

= 6811M - 350M - 5114M

物理空闲内存 = 总物理内存 - 实际已用内存 + 缓冲 + 缓存 

应用程序可用空闲内存 = 总物理内存 - 实际已用内存 

应用程序已用内存 = 实际已用内存 - 缓冲 - 缓存


原始解释:转至互联网:
Linux的基本原则是没有资源应该被浪费.因此核心会使用尽可能多的RAM,来缓存来自本地和远程的文件系统的信息.系统做读写操作的时候,会将与当前运行的进程相关的数据尽量存储在RAM里.系统报告的缓存是缓冲和页缓存两者之和.缓存并不是在进程结束的时候被回收(你可能很快会启动另外一个进程,需要同样的数据),而是随需回收–比如,当你启动一个需要大量内存的进程时,Linux核心会从内存中回收缓存,将得到的内存分配给新的进程. 

有些区域,比如匿名内存映射(mmps)和共享内存区域,它们被报告为缓存,但不是被核心直接释放.一般的缓存不映射到进程的地址空间,仅仅是简单的核心映射,而这些特别的缓存映射到所有挂接到它们上面的进程. 
2012-12-13 15:27:47 iteye_1031 阅读数 318
  • 韦东山嵌入式Linux第一期视频

    掌握写汇编代码的能力,可以分析任意裸板包括U-boot、内核里的相关汇编代码; 掌握常用的硬件部件的操作,比如GPIO,UART,I2C,LCD,触摸屏; 深入理解ARM体系统架构,可以写出具备中断功能的裸板程序,对程序现场的保存、恢复有所了解,这些原理适用于任何架构CPU,适用于内核及应用程序; 熟悉裸板程序的结构,给你一个Bootloader就能分析它的初始化部分、内存使用情况、链接地址、重定位、程序的相对跳转/绝对跳转等;掌握Bootloader启动内核的原理,能完全自己写出一个Bootloader。

    231136 人正在学习 去看看 韦东山
[size=medium][list]
[*]1. top
[/list] 直接使用top命令,查看%MEM的内容。
可以选择按进程查看或者按用户查看。如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:
[b][color=green]$ top -u oracle[/color][/b]

[list]
[*]2. pmap
[/list] 用pmap命令查看进程相关信息,其中有占用的内存情况,如下所示(进程号pid可以通过ps命令查看):
[b][color=green]$ pmap -d pid[/color][/b]

[list]
[*]3. ps
[/list] 命令如下:
[b][color=green]$ ps -e -o 'pid,cmd,%cpu,%mem,rsz,vsz,stime,user,uid'[/color][/b]

上例查找redis进程的内存使用情况,并由大到小的顺序排列:
[b][color=green]$ ps -e -o 'pid,cmd,%cpu,%mem,rsz,vsz,stime,user,uid' | grep redis | sort -nrk5[/color][/b]

其中,rsz表示进程占用了多少物理内存,vsz表示进程占用了多少虚拟内存。
[/size]
2018-09-30 15:40:54 zhangweij 阅读数 512
  • 韦东山嵌入式Linux第一期视频

    掌握写汇编代码的能力,可以分析任意裸板包括U-boot、内核里的相关汇编代码; 掌握常用的硬件部件的操作,比如GPIO,UART,I2C,LCD,触摸屏; 深入理解ARM体系统架构,可以写出具备中断功能的裸板程序,对程序现场的保存、恢复有所了解,这些原理适用于任何架构CPU,适用于内核及应用程序; 熟悉裸板程序的结构,给你一个Bootloader就能分析它的初始化部分、内存使用情况、链接地址、重定位、程序的相对跳转/绝对跳转等;掌握Bootloader启动内核的原理,能完全自己写出一个Bootloader。

    231136 人正在学习 去看看 韦东山

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

(1)top

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

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

内容解释:

PID:进程的ID
  USER:进程所有者
  PR:进程的优先级别,越小越优先被执行
  NInice:值
  VIRT:进程占用的虚拟内存
  RES:进程占用的物理内存
  SHR:进程使用的共享内存
  S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
  %CPU:进程占用CPU的使用率
  %MEM:进程使用的物理内存和总内存的百分比
  TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
  COMMAND:进程启动命令名称

常用的命令:

P:按%CPU使用率排行
  T:按MITE+排行
  M:按%MEM排行

(2)pmap
  可以根据进程查看进程相关信息占用的内存情况,(进程号可以通过ps查看)如下所示:
  $ pmap -d 14596

(3)ps
  如下例所示:
  $ ps -e -o ‘pid,comm,args,pcpu,rsz,vsz,stime,user,uid’ 其中rsz是是实际内存
  $ ps -e -o ‘pid,comm,args,pcpu,rsz,vsz,stime,user,uid’ | grep oracle | sort -nrk5
  其中rsz为实际内存,上例实现按内存排序,由大到小

转自:https://www.cnblogs.com/gaojun/p/3406096.html

2012-09-28 09:50:00 xiyuan1999 阅读数 267
  • 韦东山嵌入式Linux第一期视频

    掌握写汇编代码的能力,可以分析任意裸板包括U-boot、内核里的相关汇编代码; 掌握常用的硬件部件的操作,比如GPIO,UART,I2C,LCD,触摸屏; 深入理解ARM体系统架构,可以写出具备中断功能的裸板程序,对程序现场的保存、恢复有所了解,这些原理适用于任何架构CPU,适用于内核及应用程序; 熟悉裸板程序的结构,给你一个Bootloader就能分析它的初始化部分、内存使用情况、链接地址、重定位、程序的相对跳转/绝对跳转等;掌握Bootloader启动内核的原理,能完全自己写出一个Bootloader。

    231136 人正在学习 去看看 韦东山

 1、top

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

  内容解释:

  PID:进程的ID
  USER:进程所有者
  PR:进程的优先级别,越小越优先被执行
  NInice:值
  VIRT:进程占用的虚拟内存
  RES:进程占用的物理内存
  SHR:进程使用的共享内存
  S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
  %CPU:进程占用CPU的使用率
  %MEM:进程使用的物理内存和总内存的百分比
  TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
  COMMAND:进程启动命令名称

  常用的命令:

  P:按%CPU使用率排行
  T:按MITE+排行
  M:按%MEM排行

  2、/proc/pid

  测量一个进程占用了多少内存,linux为我们提供了一个很方便的方法,/proc目录为我们提供了所有的信息

  说明:

  /proc/N pid为N的进程信息
  /proc/N/cmdline 进程启动命令
  /proc/N/cwd 链接到进程当前工作目录
  /proc/N/environ 进程环境变量列表
  /proc/N/exe 链接到进程的执行命令文件
  /proc/N/fd 包含进程相关的所有的文件描述符
  /proc/N/maps 与进程相关的内存映射信息
  /proc/N/mem 指代进程持有的内存,不可读
  /proc/N/root 链接到进程的根目录
  /proc/N/stat 进程的状态
  /proc/N/statm 进程使用的内存的状态
  /proc/N/status 进程状态信息,比stat/statm更具可读性
  /proc/self 链接到当前正在运行的进程

  3、pmap

  pmap命令可以显示一个或多个进程所使用的内存数量。你可以使用这个工具来了解服务器上的某个进程分配了多少内存,并以此来判断这是否是导致内存瓶颈的原因。要得到更加详细的信息,使用pmap -d选项。


2017-05-28 09:48:27 CDW2328 阅读数 396
  • 韦东山嵌入式Linux第一期视频

    掌握写汇编代码的能力,可以分析任意裸板包括U-boot、内核里的相关汇编代码; 掌握常用的硬件部件的操作,比如GPIO,UART,I2C,LCD,触摸屏; 深入理解ARM体系统架构,可以写出具备中断功能的裸板程序,对程序现场的保存、恢复有所了解,这些原理适用于任何架构CPU,适用于内核及应用程序; 熟悉裸板程序的结构,给你一个Bootloader就能分析它的初始化部分、内存使用情况、链接地址、重定位、程序的相对跳转/绝对跳转等;掌握Bootloader启动内核的原理,能完全自己写出一个Bootloader。

    231136 人正在学习 去看看 韦东山
Q:我想监视Linux系统的内存使用情况,在Linux下有哪些视图或者命令行工具可用呢?
在做Linux系统优化的时候,物理内存是其中最重要的一方面。自然的,Linux也提供了非常多的方法来监控宝贵的内存资源的使用情况。下面的清单详细的列出了Linux系统下通过视图工具或命令行来查看内存使用情况的各种方法。
1./proc/meminfo查看RAM使用情况最简单的方法是通过 /proc/meminfo。这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free / ps / top)等的组合显示。/proc/meminfo列出了所有你想了解的内存的使用情况。进程的内存使用信息也可以通过 /proc//statm和 /proc//status来查看。
$ cat /proc/meminfo
2.atop
atop命令是一个终端环境的监控命令。它显示的是各种系统资源(CPU, memory, network, I/O, kernel)的综合,并且在高负载的情况下进行了彩色标注。
$ sudo atop
3.free
free命令是一个快速查看内存使用情况的方法,它是对 /proc/meminfo收集到的信息的一个概述。
$ free -h
4.GNOME System Monitor
GNOME System Monitor是一个显示最近一段时间内的CPU、内存、交换区及网络的使用情况的视图工具。它还提供了一种查看CPU及内存使用情况的方法。
$ gnome-system-monitor
5.htop
htop命令显示了每个进程的内存实时使用率。它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。列表可以水平及垂直滚动。
$ htop
6.KDE System Monitor
功能同 4中介绍的GENOME版本。
$ ksysguard
7.memstat
memstat是一个有效识别 executable(s), process(es) and shared libraries使用虚拟内存情况的命令。给定一个进程ID,memstat可以列出这个进程相关的可执行文件、数据和共享库。
$ memstat -p
8.nmon
nmon是一个基于ncurses的系统基准测试工具,它可以监控CPU、内存、I/O、文件系统及网络资源等的互动模式。对于内存的使用,它可以实时的显示总/剩余内存、交换空间等信息。
$ nmon
9.ps
ps命令可以实时的显示各个进程的内存使用情况。Reported memory usage information includes %MEM (percent of physical memory used), VSZ (total amount of virtual memory used), and RSS (total amount of physical memory used)。你可以使用 “–sort”选项对进程进行排序,例如按RSS进行排序:
$ ps aux --sort -rss
10.smem
smem命令允许你统计基于/proc信息的不同进程和用户的内存使用情况。内存使用情况的分析可以导出图表(如条形图和饼图)。
$ sudo smem --pie name -c "pss"
11.top
top命令提供了实时的运行中的程序的资源使用统计。你可以根据内存的使用和大小来进行排序。
$ top
12.vmstat
vmstat命令显示实时的和平均的统计,覆盖CPU、内存、I/O等内容。例如内存情况,不仅显示物理内存,也统计虚拟内存。

linux 查看内存

阅读数 600

linux 查看内存

博文 来自: xiangguiwang

Linux 内存 CPU查看

阅读数 1099

linux 内存监控

博文 来自: chen3888015

Linux 内存监控

阅读数 99

没有更多推荐了,返回首页