日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用coredump分析實例程序異常

coredump是指在程序運行過程中發生異常終止或崩潰時,操作系統將程序的內存內容轉儲到一個特殊的文件中,以便于后續的調試和分析。本文介紹如何為ECI Pod(即ECI實例)開啟coredump,以便在容器異常終止時可以查看分析coredump生成的文件,從而定位問題原因,修復程序異常。

背景信息

在Linux中,如果程序突然異常終止或者崩潰,操作系統會將程序當時的內存狀態記錄下來,保存在一個文件中,這種行為就叫做coredump。此時,您可以查看分析coredump生成的core文件,找出問題原因。

Linux中支持coredump(Action為Core)的Signal如下圖所示。

更多信息,請參見coredump file

功能概述

ECI默認關閉coredump,避免磁盤占用過多而導致業務不可用。您可以根據需要選擇以下一種方式開啟coredump:

  • 方式一:開啟coredump運維任務

    手動開啟coredump后,將生成一個運維任務。在容器運行異常終止或者退出時,觸發coredump生成的core文件將自動保存到OSS中。

  • 方式二:自定義設置core文件保存路徑

    支持自定義設置core文件保存到外掛存儲中,設置保存路徑后,將自動開啟coredump。在容器運行異常終止或者退出時,觸發coredump生成的core文件,將保存到指定的外掛存儲的路徑下。

說明
  • 方式一便于操作,但有時效和地域等限制,可用于臨時調試和診斷程序。

    • 生成的運維任務為一次性任務,執行成功獲取到一次core文件后,將會關閉coredump,并且運維任務有一定的期限(12小時),超出時間后任務將會失效。

    • 不支持以下地域:華北6(烏蘭察布)、華南2(河源)、華南3(廣州)、華東5(南京-本地地域)、菲律賓(馬尼拉)、韓國(首爾)、泰國(曼谷)。

  • 方式二需要額外配置外掛存儲,在程序運行狀態不穩定的情況下,可以采用該方式確保能夠獲取到core文件,但如果程序有問題,反復重啟可能會產生大量core文件。

方式一:開啟coredump運維任務

通過彈性容器實例控制臺,可以手動開啟coredump運維任務。

  1. 登錄彈性容器實例控制臺

  2. 為ECI實例開啟coredump。

    1. 單擊目標實例ID,打開實例詳情頁面。

    2. 單擊運維頁簽,然后選擇Coredump頁簽,單擊開啟

      開啟coredump后,系統將生成一個運維任務,未觸發coredump時,任務狀態為等待中

      coredump-1

  3. 觸發coredump。

    連接ECI實例,在容器內執行sleep 100命令后按Ctrl+\鍵,觸發coredump,生成的core文件將自動保存到OSS中。coredump2

  4. 下載core文件。

    觸發coredump生成core文件后,運維任務的狀態將變為成功,此時單擊對應結果列中的下載即可下載core文件到本地。

    coredump-2

    說明

    如果下載沒有反應,請檢查瀏覽器的網站權限設置。

方式二:自定義設置core文件保存路徑

core文件一般用于離線分析問題,因此設置core文件的保存路徑時,一般采用外掛存儲,而不是保存在容器本地路徑,避免容器退出而丟失core文件。ECI支持自定義設置core文件保存路徑,設置后將自動開啟coredump。

重要

配置的路徑不能以|開頭,即不能通過coredump來配置可執行程序。

以使用NAS作為外掛存儲為例,配置示例如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: coredump-test
  labels:
    app: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-core-pattern: "/data/dump-a/core"    # 設置core文件保存路徑
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80
        volumeMounts:
          - name: nas-volume
            mountPath: /data/dump-a/
      volumes:     # 掛載NAS
        - name: nas-volume
          csi:
            driver: nasplugin.csi.alibabacloud.com
            fsType: nas
            volumeAttributes:
              server: "0389a***-nh7m.cn-shanghai.extreme.nas.aliyuncs.com"
              path: "/"
              vers: "3"
              options: "nolock,tcp,noresvport"

常見問題

觸發coredump后,在控制臺下載core文件沒有反應,怎么辦?

如果下載沒有反應,請檢查瀏覽器的網站權限設置。例如Chrome瀏覽器可以參考以下方式開啟權限:

  1. 打開彈性容器實例控制臺,單擊瀏覽器地址欄前面的瀏覽器圖標圖標,選擇網站設置瀏覽器設置1

  2. 將配置項不安全內容改為允許瀏覽器設置2