服务器日常巡检
一.先看内存
top :看内存占用分布情况,及占用较高的进程。
如果内存占用剧增总占用超过95%左右,这时服务器相对满载,会导致很多隐患。解决办法:在近期没有进行服务器变更的前提下,可以使用
- 执行命令 sync --使内存中缓存过多的部分内容写入到磁盘中,可执行3~5次。
- 执行 echo 3 > /proc/sys/vm/drop_caches --手动清除内存占用过多的缓存。
二.查看磁盘空间
- df -h --查看服务器总磁盘空间及占用
- du -sh --查看当前目录占用磁盘空间
- du -1h --max-depth=1 --查看当前目录下一级子文件和子目录占用的磁盘容量。
三.查看数据库表空间
select
表空间名称,
round((总空间数/1024),2)||‘G’ 总空间G级,
round((已使用空间数/1024),2)||‘G’ 已使用空间G级,
(round((总空间数/1024),2)-round((已使用空间数/1024),2))||‘G’ 剩余空间,
round(round((已使用空间数/1024),2)/12/30,2)||‘G’ 已使用空间每天G级,
round((round((总空间数/1024),2)-round((已使用空间数/1024),2))/round(round((已使用空间数/1024),2)/12/30,2))||‘天’ 可用天数,
已用空间百分比,
可用空间百分比
from(
select a.tablespace_name 表空间名称,
a.总大小 总空间数,
round(b.总可用空间数,1) 总空闲空间数,
round((a.总大小 - b.总可用空间数),2 ) 已使用空间数,
to_char(100*(1-(b.总可用空间数/a.总大小)),‘99.99’)||’%’ 已用空间百分比,
to_char(100b.总可用空间数/a.总大小,‘99.99’)||’%’ 可用空间百分比,
ROUND(to_char(100(1-(b.总可用空间数/a.总大小))),2) 可用空间预警状态
from
(select tablespace_name,sum(bytes)/1024/1024 总大小
from dba_data_files
group by tablespace_name) a,
(select tablespace_name,sum(bytes)/1024/1024 总可用空间数
from SYS.dba_free_space
group by tablespace_name) b
where a.tablespace_name=b.tablespace_name
order by 可用空间百分比)
where round((已使用空间数/1024),2)>0
and round(round((已使用空间数/1024),2)/12/30,2)>0
如果表空间占用超过90%,推荐增加物理文件来扩展表空间:
–表空间大小最大32G(不能等于32G)
ALTER TABLESPACE 表空间名 DATAFILE
‘所创物理文件路径’ SIZE 30G;