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

前提条件

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

操作步骤

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

  1. 将下方代码粘贴至您的工程,并更改配置。
    1. 在代码中填入您的服务器 IP、用户名和登录密码等信息。
    2. 设置内存占用值和持续时间。例如:服务器内存为 8G,设置内存占用 6144 M,内存占用率为 75%,持续时间 1 分钟。
    import com.alibaba.pelican.chaos.client.RemoteCmdClientConfig;
    import com.alibaba.pelican.chaos.client.impl.RemoteCmdClient;
    import com.alibaba.pelican.chaos.client.utils.CpuUtils;
    import com.alibaba.pelican.chaos.client.utils.MemUtils;
    
    /**
     * @author moyun@middleware
     */
    public class DemoMem {
    
        public static void main(String[] args) {
    
            //服务器IP
            String ip = "";
            //服务器用户名
            String userName = "";
            //服务器登录密码
            String password = "";
            RemoteCmdClientConfig config = new RemoteCmdClientConfig();
            config.setIp(ip);
            config.setUserName(userName);
            config.setPassword(password);
    
            RemoteCmdClient client = new RemoteCmdClient(config);
            //内存占用单位为M
            int percent = 6144;
            //持续时间单位分钟
            int delayMinutes = 1;
            //内存占用率拉高
            MemUtils.adjustMemUsage(client, percent, delayMinutes);
        }
    }
  2. 运行您的工程。

结果验证

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