数据存储、检索与数字处理技巧
数据存储与检索
在数据存储和检索方面,plot-graph.sh对数据的格式化比grab-meminfo.sh稍好,这使得stat.sh的任务也相对轻松。在处理内存和交换空间数据时,每个Memory行后面都跟着一个Swap行。在while循环中,会进行第二次读取以获取相关的Swap数据,接着计算总量和峰值,并增加计数器。由于while循环是一个子 shell,循环结束后子 shell 及其环境变量会丢失,所以这些数据会先保存到临时文件中。主脚本从临时文件读取循环状态,计算平均值,最后将数据写入 CSV 文件。
从调用部分可以看到,存在一个规律模式,每周一会出现峰值。最上面的线是峰值 RAM,接着是平均 RAM,然后是峰值 Swap,最下面是平均 Swap。利用这些信息可以找出周一出现问题的具体原因,可能是周一负载达到峰值,服务器需要更多内存来应对;也可能是只有周一使用的应用程序部分存在内存泄漏问题,需要修复。
以下是相关脚本:
#!/bin/bash count=1 while : do date +%D:%H:%M > /var/tmp/$count.meminfo cat /proc/meminfo >> /var/tmp/$count.meminfo ((count++)