若需要測試應用在內存占用率高的情況下是否能正常運行,您可以通過 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 分鐘。