VM未响应后,Azure Ubuntu VM服务的未知磁盘读取字节和磁盘操作

时间:2019-07-12 21:28:42

标签: azure virtual-machine ubuntu-16.04 azure-storage azure-disk

每个星期将近两到三次,azure vm停止响应。当发生这种情况时,磁盘读取字节急剧增加,我不知道为什么。我的应用程序没有读取磁盘功能(仅写入日志)。 从图中可以看出,“读取字节数”和“磁盘操作”增加了片刻,导致服务器冻结。我必须重新启动VM,并且要花费将近15分钟才能再次使用它。

Azure Ubuntu VM Stats

我正在使用Azure Ubuntu 16.04 VM,大小为标准B1(1个vcpus,1个GiB内存)。

我已经检查了这些情况

  • 我的应用程序可能发生的内存泄漏
  • 观察了应用程序的所有源代码,无论是否存在磁盘读取功能(我的应用程序没有任何磁盘就绪操作)
  • 我已将Ubuntu 60%的默认虚拟内存大小更改为%1
  • 我正在使用docker来运行我的应用程序,并且我仅使用1个vm上的docker映像实例
  • 我删除了所有虚拟机,然后又重新创建了它(包括所有资源,例如磁盘/网络等)

我想知道为什么会这样以及如何调查导致此问题的原因。 ubuntu发生时,我还没有看到任何可疑的运行过程。

1 个答案:

答案 0 :(得分:0)

Azure技术支持工程师已解决此问题(感谢 Micah_MSFT

Azure VM似乎内存不足。发生这种情况时,VM运行不稳定,因此磁盘操作迅速增加,VM处于冻结状态(他们正在调查问题的详细信息并报告给Linux技术人员)。

  

正如Azure技术支持工程师所阐明的那样,有一个功能   名为交换空间的文件,可帮助保存程序将存储空间保留为   处理内存。

这是配置

  1. 打开位于 /etc/waagent.conf 下的文件,找到以下变量并进行相应的修改:
# Format if unformatted. If 'n', resource disk will not be mounted.​
ResourceDisk.Format=n​   /// change this parameter to "y"

# Create and use swapfile on resource disk.​
ResourceDisk.EnableSwap=n​   /// change this parameter to "y"
​
# Size of the swapfile.​
ResourceDisk.SwapSizeMB=0​   /// change this parameter to "1024"
  1. 重新启动服务以应用更改
  

sudo systemctl重新启动walinuxagent.service

     

就这样

我认为,由于内存不足限制导致不必要的磁盘使用增加会导致Azure VM的性能下降。