全部产品
云市场

拉高服务器内存占用率

更新时间:2019-05-17 17:46:36

若需要测试应用在内存占用率高的情况下是否能正常运行,可以通过 PelicanDT 可以轻松地模拟服务器内存占用率高的测试环境。本文将介绍使用 PelicanDT 拉高服务器内存占用率的方法。

前提条件

  • 您已安装 PelicanDT SDK,请参见安装 PelicanDT SDK
  • 您已在 Linux 远程服务器上运行应用。

操作步骤

使用 PelicanDT 模拟服务器内存占用率为 75%、持续时间 1 分钟的测试环境,具体操作步骤如下:

  1. 将下方代码粘贴至您的工程,并更改配置。

    1. 在代码中填入您的服务器 IP、用户名和登录密码等信息。

    2. 设置内存占用值和持续时间。例如:服务器内存为 8G,设置内存占用 6144 M,内存占用率为 75%,持续时间 1 分钟。

      1. import com.alibaba.pelican.chaos.client.RemoteCmdClientConfig;
      2. import com.alibaba.pelican.chaos.client.impl.RemoteCmdClient;
      3. import com.alibaba.pelican.chaos.client.utils.CpuUtils;
      4. import com.alibaba.pelican.chaos.client.utils.MemUtils;
      5. /**
      6. * @author moyun@middleware
      7. */
      8. public class DemoMem {
      9. public static void main(String[] args) {
      10. //服务器IP
      11. String ip = "";
      12. //服务器用户名
      13. String userName = "";
      14. //服务器登录密码
      15. String password = "";
      16. RemoteCmdClientConfig config = new RemoteCmdClientConfig();
      17. config.setIp(ip);
      18. config.setUserName(userName);
      19. config.setPassword(password);
      20. RemoteCmdClient client = new RemoteCmdClient(config);
      21. //内存占用单位为M
      22. int percent = 6144;
      23. //持续时间单位分钟
      24. int delayMinutes = 1;
      25. //内存占用率拉高
      26. MemUtils.adjustMemUsage(client, percent, delayMinutes);
      27. }
      28. }
  2. 运行您的工程。

结果验证

在 ECS 控制台查看内存使用率,请参见在实例详情页查看实例信息。在下图中可以看到内存使用率高达 75%,持续时间为 1 分钟。