欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

针对Oracle用户的Linux高级命令详解之资源管理篇

程序员文章站 2022-06-09 11:53:32
...

Oracle数据库中的I/O瓶颈可能会造成严重的问题,与性能问题不同,慢速I/O可能导致控制文件写入速度缓慢,这会导致等待获取控制文

⑴ free

一个常见的问题是:

我的应用程序,服务器,用户以及系统进程等正在使用多少内存? 或者

现在多少内存可用?如果正在运行的进程使用的内存大于可用RAM,则需要将这些进程移到交换区

因此,一个补充的问题是:

正在使用多少交换区空间?

free命令将回答所有这些问题。而且,,一个非常有用的选项-m可以显示可用内存(以MB为单位)

[root@Think ~]# free -m
total used free shared buffers cached
Mem: 1011 991 19 0 59 661
-/+ buffers/cache: 270 740
Swap: 0 0 0

以上输出显示系统具有1011MB的RAM,已使用991MB,还有19MB内存可用

第二行显示在物理内存中缓冲区和缓存大小的更改

第三行显示交换分区利用情况

要以KB或GB为单位显示以上内容,请将-m选项分别替换为-k或-g。使用-b选项将以字节为单位

[root@Think ~]# free -b
total used free shared buffers cached
Mem: 1060110336 1039556608 20553728 0 62877696 692731904
-/+ buffers/cache: 283947008 776163328
Swap: 0 0 0

-t选项在输出底部显示总数(物理内存和交换分区的总和):

[root@Think ~]# free -m -t
total used free shared buffers cached
Mem: 1011 991 19 0 60 660
-/+ buffers/cache: 270 740
Swap: 0 0 0
Total: 1011 991 19

尽管free不显示百分比,但是我们可以提取并格式化输出的特定部分

例如:已用内存占总数的百分比

[root@Think ~]# free -m | grep Mem | awk '{print ($3 / $2)*100}'
97.9228

这个值非常重要,您可能希望在可用内存的百分比低于特定阀值时触发一个警报

同样,要发现已使用交换分区空间的百分比,您可以:

[root@Think ~]# free -m | grep -i Swap | awk '{print ($3 / $2)*100}'

可以使用free查看应用程序施加的内存负载

例如,启动备份应用程序之前检查可用内存,启动之后立即检查可用内存

两者之差就是备份应用程序消耗的内存

针对Oracle用户的Linux高级命令详解之资源管理篇