扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
用 'top -i' 看看有多少进程处于 Running 状态,可能系统存在内存或 I/O 瓶颈,用 free 看看系统内存使用情况,swap 是否被占用很多,用 iostat 看看 I/O 负载情况...
创新互联公司-专业网站定制、快速模板网站建设、高性价比南通网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式南通网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖南通地区。费用合理售后完善,十余年实体公司更值得信赖。
还有一种办法是 ps -ef | sort -k7 ,将进程按运行时间排序,看哪个进程消耗的cpu时间最多。
top:
主要参数 :
free
1.作用
free命令用来显示内存的使用情况,使用权限是所有用户。
**2.格式 **
**3.主要参数 **
uptime
vmstat
**1 观察磁盘活动情况 **
磁盘活动情况主要从以下几个指标了解:
**2 观察cpu活动情况 **
vmstat比top更能反映出cpu的使用情况:
iostat
用于统计CPU的使用情况及tty设备、硬盘和CD-ROM的I/0量
即使爬到最高的山上,一次也只能脚踏实地地迈一步。
Linux查看CPU和内存使用情况:
在做Linux系统优化的时候,物理内存是其中最重要的一方面。自然的,Linux也提供了非常多的方法来监控宝贵的内存资源的使用情况。下面的清单详细的列出了Linux系统下通过视图工具或命令行来查看内存使用情况的各种方法。
1. /proc/meminfo
查看RAM使用情况最简单的方法是通过 /proc/meminfo 。这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free / ps / top)等的组合显示。 /proc/meminfo 列出了所有你想了解的内存的使用情况。进程的内存使用信息也可以通过/proc/pid/statm 和 /proc/pid/status 来查看。
atop命令是一个终端环境的监控命令。它显示的是各种系统资源(CPU, memory, network, I/O, kernel)的综合,并且在高负载的情况下进行了彩色标注。
free命令是一个快速查看内存使用情况的方法,它是对 /proc/meminfo 收集到的信息的一个概述。
GNOME System Monitor 是一个显示最近一段时间内的CPU、内存、交换区及网络的使用情况的视图工具。它还提供了一种查看CPU及内存使用情况的方法。
htop命令显示了每个进程的内存实时使用率。它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。列表可以水平及垂直滚动。
功能同 4 中介绍的GENOME版本。
memstat是一个有效识别executable(s), process(es) and shared libraries使用虚拟内存情况的命令。给定一个进程ID,memstat可以列出这个进程相关的可执行文件、数据和共享库。
nmon是一个基于ncurses的系统基准测试工具,它可以监控CPU、内存、I/O、文件系统及网络资源等的互动模式。对于内存的使用,它可以实时的显示 总/剩余内存、交换空间等信息。
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进行排序:
smem命令允许你统计基于/proc信息的不同进程和用户的内存使用情况。内存使用情况的分析可以导出图表(如条形图和饼图)。
top命令提供了实时的运行中的程序的资源使用统计。你可以根据内存的使用和大小来进行排序。
vmstat命令显示实时的和平均的统计,覆盖CPU、内存、I/O等内容。例如内存情况,不仅显示物理内存,也统计虚拟内存。
free
命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存
参数
-b
显示内存的单位为字节
-k
显示内存的单位为
KB
-m
显示内存的单位为
M
-o
忽略缓冲区调节列
-t
总和信息
-s时间
每隔指定时间执行一次命令,单位为s
-h
以可读形式显示容量,需要free
-V显示版本大于3.3
-V
版本信息
示例
例1
复制代码
代码如下:
root@tnak-VirtualBox:/home/tnak
#
free
-s
3
#每3秒执行一次
复制代码
代码如下:
root@tnak-VirtualBox:/home/tnak
#
free
-m
#以M为单位
复制代码
代码如下:
root@tnak-VirtualBox:/home/tnak
#
free
-k
#以K为单位
例2
free
-h
#以可读形式显示容量,需要procps-ng版本大于3.3
复制代码
代码如下:
$
free
-h
PS:返回信息说明
Mem:表示物理内存统计
-/+
buffers/cached:表示物理内存的缓存统计
Swap:表示硬盘上交换分区的使用情况,
第1行
Mem:
total:表示物理内存总量。
used:表示总计分配给缓存(包含buffers
与cache
)使用的数量,但其中可能部分缓存并未实际使用。
free:未被分配的内存。
shared:共享内存,一般系统不会用到,这里也不讨论。
buffers:系统分配但未被使用的buffers
数量。
cached:系统分配但未被使用的cache
数量。
total
=
used
+
free
第2行
-/+
buffers/cached:
used:也就是第一行中的used
-
buffers-cached
也是实际使用的内存总量。
free:未被使用的buffers
与cached
和未被分配的内存之和,这就是系统当前实际可用内存=free+buffers+cached。
因为buffers和cached是系统为了提高性能申请的内存数,实际上当应用程序需要此功能时,是可以使用这些内存的,所以对应用程序来说,这些内存也是可以使用的。
第三行则是针对交换控件,显示使用量(used)和有多少空闲的交换区(free)。
我们可以修改shmmax内核参数,使SGA存在于一个共享内存段中。
通过修改/proc/sys/kernel/shmmax参数可以达到此目的。
[root@neirong root]# echo 1073741824 /proc/sys/kernel/shmmax
[root@neirong root]# more /proc/sys/kernel/shmmax
1073741824这里设为1G。
对于shmmax文件的修改,系统重新启动后会复位。可以通过修改 /etc/sysctl.conf 使更改永久化。
在该文件内添加以下一行 kernel.shmmax = 1073741824 这个更改在系统重新启动后生效.
1、设置 SHMMAX
SHMMAX
参数定义共享内存段的最大尺寸(以字节为单位)。在设置 SHMMAX 时,切记 SGA 的大小应该适合于一个共享内存段。 SHMMAX 设置不足可能会导致以下问题:
ORA-27123:unable to attach to shared memory segment
您可以通过执行以下命令来确定 SHMMAX 的值:
# cat /proc/sys/kernel/shmmax
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流