--- title: "Diagnostic interrupt" slug: "server-ts-interrupt-vpc" tags: ["troubleshooting", "vpc", "Server"] updated: 2026-10-08T06:54:12Z published: 2026-10-08T06:54:12Z canonical: "guide.ncloud-docs.com/server-ts-interrupt-vpc" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Diagnostic interrupt Available in VPC This document describes diagnostic interrupts on NAVER Cloud Platform that can collect memory dumps according to the OS settings. Diagnostic interrupts can be performed through the user CLI and API. The conditions for using the diagnostic interrupt are as follows: - Support by hypervisor and OS | Hypervisor | OS | Supported | | --- | --- | --- | | **KVM** | Linux | O | | Windows | O | | **XEN** | Linux | X | | Windows | O | - When you can use API and CLI of NAVER Cloud Platform from outside the server Caution Diagnostic interrupt is a function that forces a server to generate the blue screen of death (BSOD). Data may be lost, so take precautions when using the function. Note - Bare Metal Server does not support the diagnostic interrupt function. - Analysis of the generated memory dump is not supported. ## Required situations Diagnostic interrupts are required in the following situations: - When a user application requires a memory dump analysis - When other OS issues require analysis ## Windows full memory dump presets - KVM & XEN The default setting is "Automatic memory dump," which makes it difficult to check the application memory because the full memory dump is missing. Therefore, you must configure Windows to collect a complete memory dump when a BSOD occurs and configure the paging file. Enabling a full memory dump should not have a significant impact on operating system performance, but it can be reverted if the issue is resolved. However, if you revert it, a full memory dump is not collected when a diagnostic interrupt (or BSOD) occurs. ### Set Windows memory dump The following describes how to enable a full memory dump when a BSOD occurs in Windows. 1. Navigate to **![i-server_window_start(1)](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/i-server_window_start(1).png?sv=2026-02-06&spr=https&st=2026-10-27T16%3A28%3A49Z&se=2026-10-27T17%3A28%3A49Z&sr=c&sp=r&sig=g7D62nOMhLkEm2vX6KA4l6gzc8ueiEtwV%2FaU4yn7hJc%3D) > ![i-server_setting](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/i-server_setting.png?sv=2026-02-06&spr=https&st=2026-10-27T16%3A28%3A49Z&se=2026-10-27T17%3A28%3A49Z&sr=c&sp=r&sig=g7D62nOMhLkEm2vX6KA4l6gzc8ueiEtwV%2FaU4yn7hJc%3D) > System > Advanced system settings > [Advanced]**. ![server-diagnostic-interrupt-windows-1](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/server-diagnostic-interrupt-windows-1.png?sv=2026-02-06&spr=https&st=2026-10-27T16%3A28%3A49Z&se=2026-10-27T17%3A28%3A49Z&sr=c&sp=r&sig=g7D62nOMhLkEm2vX6KA4l6gzc8ueiEtwV%2FaU4yn7hJc%3D) 2. Click to select the **Automatically restart** check box under **System failure**. 3. Click **[Settings]** in **Startup and recovery** and select **Complete memory dump** from the drop-down menu in **Write debugging information**. ![server-diagnostic-interrupt-windows-2](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/server-ts-intrrupt-windows02_en.png?sv=2026-02-06&spr=https&st=2026-10-27T16%3A28%3A49Z&se=2026-10-27T17%3A28%3A49Z&sr=c&sp=r&sig=g7D62nOMhLkEm2vX6KA4l6gzc8ueiEtwV%2FaU4yn7hJc%3D) 4. Click **[OK]** in the pop-up window. 5. Click to select the **Overwrite any existing file** check box in the **Write debugging information**. 6. Click **[OK]**. ### Set paging file The following describes how to set a paging file. Note `%SystemRoot%` partition is where the boot system files are located, and the paging file must exist on that partition. If Windows was installed by default, it will be C:\. 1. Navigate to **![i-server_window_start(1)](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/i-server_window_start(1).png?sv=2026-02-06&spr=https&st=2026-10-27T16%3A28%3A49Z&se=2026-10-27T17%3A28%3A49Z&sr=c&sp=r&sig=g7D62nOMhLkEm2vX6KA4l6gzc8ueiEtwV%2FaU4yn7hJc%3D) > ![i-server_setting](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/i-server_setting.png?sv=2026-02-06&spr=https&st=2026-10-27T16%3A28%3A49Z&se=2026-10-27T17%3A28%3A49Z&sr=c&sp=r&sig=g7D62nOMhLkEm2vX6KA4l6gzc8ueiEtwV%2FaU4yn7hJc%3D) > System > Advanced system settings > [Advanced]**. 2. Click **[Settings]** for **Performance**, click the **[Advanced]** tab, and then click **[Change]** for **Virtual memory**. ![server-diagnostic-interrupt-windows-3](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/server-ts-intrrupt-windows03_en.png?sv=2026-02-06&spr=https&st=2026-10-27T16%3A28%3A49Z&se=2026-10-27T17%3A28%3A49Z&sr=c&sp=r&sig=g7D62nOMhLkEm2vX6KA4l6gzc8ueiEtwV%2FaU4yn7hJc%3D) 3. Click to deselect the **Automatically manage paging file size for all drives** check box. 4. Click to select **Custom size** and set a paging file on C:\ with a size larger than the RAM. - The following image shows an example setting with 8 GB of physical memory. ![server-diagnostic-interrupt-windows-4](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/server-ts-intrrupt-windows04_en.png?sv=2026-02-06&spr=https&st=2026-10-27T16%3A28%3A49Z&se=2026-10-27T17%3A28%3A49Z&sr=c&sp=r&sig=g7D62nOMhLkEm2vX6KA4l6gzc8ueiEtwV%2FaU4yn7hJc%3D) - The size of the paging file must be at least 257 MB larger than the physical memory. | Amount of RAM on the server | Recommended paging file size | | --- | --- | | 4 GB | 4,353 MB or above | | 8 GB | 8,449 MB or above | | 16 GB | 16,641 MB or above | | 32 GB | 33,025 MB or above | | 64 GB | 65,793 MB or above | 5. Click **[Set] > [OK]**. Caution - Memory dumps are stored in C:\ Windows. The C:\ volume must have at least as much free space as the memory capacity. Make sure there is enough free space. For servers with a large memory capacity, use the D:\ volume (additional disk) to edit the location of the dump file in step 2. - For servers with a large memory capacity, memory dump collection may take longer. ### Apply The settings will not apply until Windows is rebooted. When the settings are applied, a BSOD is generated when a diagnostic interrupt occurs, at which point a dump of the entire memory is collected. Note If you need technical assistance with Windows, see the following: - Search and see the [Knowledge Base](https://support.microsoft.com/ko-kr/). - Contact the [Community](https://answers.microsoft.com/ko-kr). - If you are a Visual Studio subscriber (formerly MSDN subscription), you can get official support from MS in the following ways: - Call center (080-986-1000) - Contact the [Subscriber portal](https://my.visualstudio.com/). ## Linux full memory dump presets for RHEL-based OSs (KVM) RHEL-based operating systems (RHEL, Rocky Linux, and NAVIX) use kdump to collect memory dumps when a kernel panic occurs. By default, the kernel ignores Non-Maskable Interrupts (NMIs) delivered by diagnostic interrupts instead of handling them, so you must install kdump and configure kernel panic integration before performing a diagnostic interrupt. Configuring kdump does not significantly affect operating system performance, but you can revert it once the issue is resolved. However, if you revert it, a memory dump is not collected when a diagnostic interrupt occurs. Caution If you perform a diagnostic interrupt without completing the presets, the guest operating system ignores the NMI. In this case, no kernel panic or server restart occurs and no memory dump is collected, so make sure to complete the following settings first. Note - Setting crashkernel reserved memory involves changing the kernel boot options, so you must restart the server to apply the setting. - No overwrite option like **Overwrite any existing file** in Windows is provided, so dump files accumulate each time you perform a diagnostic interrupt. If you need to manage disk space, configure dump file accumulation management. ### Install kdump package To install the kexec-tools package required for kdump: 1. Run the following command to install the kexec-tools package. ``` dnf install -y kexec-tools ``` Note For RHEL 7-based systems that do not provide dnf, use the `yum install -y kexec-tools` command. ### Set crashkernel reserved memory When a kernel panic occurs, kdump runs a separate capture kernel to collect a memory dump. The memory used by the capture kernel must be reserved in advance at server boot, and dump collection fails if the reserved memory is insufficient. Choose 1 of the following 2 methods to configure it. **Method 1. Automatic reservation by the kernel based on RAM size (recommended)** 1. Run the following command to set the reservation size for each RAM range. ``` grubby --update-kernel=ALL --args="crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M" ``` 1. When the above setting is applied, memory is reserved as follows depending on the server's RAM capacity. | RAM range | Reserved size | | --- | --- | | Above 1 GB and below 4 GB | 192 MB | | Above 4 GB and below 64 GB | 256 MB | | 64 GB or above | 512 MB | **Method 2. Check the server's RAM capacity and specify the size directly** 1. Run the following command to set the reserved memory size directly. ``` grubby --update-kernel=ALL --args="crashkernel=256M" ``` 1. The recommended reservation sizes by RAM capacity are as follows. | Amount of RAM on the server | Recommended crashkernel size | | --- | --- | | 4 GB ~ 32 GB | 256 MB | | 64 GB or above | 512 MB | ### Configure kernel panic integration Diagnostic interrupts work by delivering an NMI to the server. RHEL-based systems ignore NMIs of unidentifiable cause by default, so you must configure the system to trigger a kernel panic when an NMI is received. 1. Run the following command to add the kernel panic integration options. ``` echo 'kernel.unknown_nmi_panic = 1' > /etc/sysctl.d/99-nmi-panic.conf ``` 1. Run the following command to apply the settings. ``` sysctl --system ``` ### Set memory dump collection scope To set the dump collection scope so that you can check application memory, as with **Complete memory dump** in Windows: 1. Run the following command to open the kdump configuration file in an editor. ``` vi /etc/kdump.conf ``` 1. Find the following items in the file and change them, or add them if they do not exist. ``` path /var/crash core_collector makedumpfile -l --message-level 7 -d 23 ``` 1. Descriptions of each item are as follows. | Item | Description | | --- | --- | | `path /var/crash` | Path where memory dump files are stored | | `-l` | Compress dump files using lzo | | `--message-level 7` | Output detailed logs of the dump collection process | | `-d 23` | Specifies pages to exclude from the dump. Zero-filled pages, cache pages, cache private pages, and unused (free) pages are excluded, but user process memory is included, so you can check the application state. | ### Manage dump file accumulation Windows always keeps only the latest dump file through the overwrite setting (**Overwrite any existing file**), but on Linux, dump files accumulate each time you perform a diagnostic interrupt. If you need to manage disk space, set a retention period as follows. 1. Run the following command to open the configuration file in an editor. ``` vi /etc/tmpfiles.d/kdump-cleanup.conf ``` 1. Add the following content. Dump files whose access time or modification time exceeds 30 days are deleted. ``` e /var/crash - - - 30d ``` ### Enable and apply kdump To apply the settings: 1. Run the following command to enable and start the kdump service. ``` systemctl enable --now kdump ``` 1. Run the following command to check the status of the kdump service. ``` kdumpctl status ``` 1. Run the following command to restart the server. The crashkernel reserved memory is applied after the restart. ``` reboot ``` ### Check settings To check whether the presets have been applied properly after the server restarts: 1. Run the following command to check whether the crashkernel reserved memory has been applied to the kernel boot options. ``` cat /proc/cmdline | grep crashkernel ``` 1. Run the following command to check whether the reserved memory has actually been allocated. ``` cat /proc/iomem | grep -i "crash kernel" ``` 1. Run the following command to check whether the kdump service is enabled. ``` systemctl is-enabled kdump kdumpctl status ``` 1. Run the following command to check whether the kernel panic integration option has been applied. The value must be output as `1`. ``` sysctl kernel.unknown_nmi_panic ``` ### Check memory dump files To check whether the memory dump has been collected properly after performing a diagnostic interrupt: 1. When performing a diagnostic interrupt, check whether the following kernel panic message is displayed on the server console. ``` Uhhuh. NMI received for unknown reason 30 on CPU 0. Kernel panic - not syncing: NMI: Not continuing CPU: 0 PID: 0 Comm: swapper/0 Kdump: loaded Not tainted ``` 1. When the server restarts and its status changes to Running, access the server and run the following command to check the dump directory. Dumps are stored in directories in the `<수집 IP>-<수집 일시>` format. ``` ls -al /var/crash/ ``` 1. Run the following command to check whether the dump files have been created. ``` ls -al /var/crash/127.0.0.1-2026-08-04-20:20:11/ ``` 1. The files are generated as follows: | File | Description | | --- | --- | | `vmcore` | Collected memory dump file | | `vmcore-dmesg.txt` | Kernel log at the time of the kernel panic | | `kexec-dmesg.log` | Boot log of the capture kernel used for dump collection | Note NAVER Cloud Platform does not support analysis of memory dump files. Analyze the collected `vmcore` file using a separate tool, such as the `crash` utility. ## Linux full memory dump presets for Ubuntu-based OSs (KVM) Ubuntu-based operating systems use kdump-tools to collect memory dumps when a kernel panic occurs. By default, the kernel ignores Non-Maskable Interrupts (NMIs) delivered by diagnostic interrupts instead of handling them, so you must install kdump-tools and configure kernel panic integration before performing a diagnostic interrupt. Configuring kdump does not significantly affect operating system performance, but you can revert it once the issue is resolved. However, if you revert it, a memory dump is not collected when a diagnostic interrupt occurs. Caution If you perform a diagnostic interrupt without completing the presets, the guest operating system ignores the NMI. In this case, no kernel panic or server restart occurs and no memory dump is collected, so make sure to complete the following settings first. Note - The kernel boot options are changed, so you must restart the server to apply the settings. - No overwrite option like **Overwrite any existing file** in Windows is provided, so dump files accumulate each time you perform a diagnostic interrupt. If you need to manage disk space, configure dump file accumulation management. ### Install linux-crashdump package To install the packages required for kdump: 1. Run the following command to install the linux-crashdump package. ``` apt update && apt install -y linux-crashdump ``` 1. If a screen asking whether to use kdump-tools appears during installation, select ****. Note The `linux-crashdump` package also installs the components required for dump collection, such as kdump-tools and makedumpfile. ### Check crashkernel reserved memory When a kernel panic occurs, kdump runs a separate capture kernel to collect a memory dump. The memory used by the capture kernel must be reserved in advance at server boot, and on Ubuntu-based systems, the reserved memory configuration file is created automatically when the package is installed. 1. Run the following command to check whether the configuration file has been created. ``` cat /etc/default/grub.d/kdump-tools.cfg ``` 1. Check that the reservation size for each RAM range is set as follows. ``` GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT crashkernel=2 G-4 G:320 M,4 G-32 G:512 M,32 G-64 G:1024 M,64 G-128 G:2048 M,128 G-:4096 M" ``` 1. When the above setting is applied, memory is reserved as follows depending on the server's RAM capacity. | RAM range | Reserved size | | --- | --- | | Above 2 GB and below 4 GB | 320 MB | | Above 4 GB and below 32 GB | 512 MB | | Above 32 GB and below 64 GB | 1,024 MB | | Above 64 GB and below 128 GB | 2,048 MB | | 128 GB or above | 4,096 MB | Note If you need to change the reserved memory size, edit the `/etc/default/grub.d/kdump-tools.cfg` file and then run the `update-grub` command to apply it to the bootloader configuration. ### Configure kernel panic integration Diagnostic interrupts work by delivering an NMI to the server. Ubuntu-based systems ignore NMIs of unidentifiable cause by default, so you must configure the system to trigger a kernel panic when an NMI is received. 1. Run the following command to add the kernel panic integration options. ``` cat < /etc/sysctl.d/99-diagnostic-interrupt.conf kernel.unknown_nmi_panic = 1 kernel.panic_on_unrecovered_nmi = 1 kernel.panic_on_io_nmi = 1 EOF ``` 1. Descriptions of each option are as follows: | Option | Description | | --- | --- | | `kernel.unknown_nmi_panic` | Kernel panic on receipt of an NMI of unidentifiable cause | | `kernel.panic_on_unrecovered_nmi` | Kernel panic on receipt of an unrecoverable NMI | | `kernel.panic_on_io_nmi` | Kernel panic on receipt of an I/O-related NMI | 2. Run the following command to apply the settings. ``` sysctl --system ``` ### Check kdump service settings To check whether the kdump-tools service is enabled: 1. Run the following command. ``` cat /etc/default/kdump-tools | grep USE_KDUMP ``` 1. Check that `USE_KDUMP=1` is output. If the value is `0`, open the `/etc/default/kdump-tools` file in an editor and change it to `USE_KDUMP=1`. ### Manage dump file accumulation Windows always keeps only the latest dump file through the overwrite setting (**Overwrite any existing file**), but on Linux, dump files accumulate each time you perform a diagnostic interrupt. If you need to manage disk space, set a retention period as follows. 1. Run the following command to open the configuration file in an editor. ``` vi /etc/tmpfiles.d/kdump-cleanup.conf ``` 1. Add the following content. Dump files whose access time or modification time exceeds 30 days are deleted. ``` e /var/crash - - - 30d ``` ### Apply To apply the settings: 1. Run the following command to restart the server. The crashkernel reserved memory is applied after the restart. ``` reboot ``` ### Check settings To check whether the presets have been applied properly after the server restarts: 1. Run the following command to check whether the crashkernel reserved memory has been applied to the kernel boot options. ``` cat /proc/cmdline | grep crashkernel ``` 1. Check that the output includes the reserved memory range as follows: ``` BOOT_IMAGE=/boot/vmlinuz-6.8.0-124-generic root=UUID=... ro crashkernel=auto console=ttyS0,115200n8 console=tty0 crashkernel=2 G-4 G:320 M,4 G-32 G:512 M,32 G-64 G:1024 M,64 G-128 G:2048 M,128 G-:4096 M ``` 1. Run the following command to check the kdump configuration and service status. ``` kdump-config show kdump-config status ``` 1. Run the following command to check whether the kernel panic integration option has been applied. All 3 values must be output as `1`. ``` sysctl kernel.unknown_nmi_panic kernel.panic_on_unrecovered_nmi kernel.panic_on_io_nmi ``` ### Check memory dump files To check whether the memory dump has been collected properly after performing a diagnostic interrupt: 1. When the server restarts and its status changes to Running, access the server and run the following command to check the dump directory. Dumps are stored in directories in the `<수집 일시>` format. ``` ls -al /var/crash/ ``` 1. Run the following command to check whether the dump files have been created. ``` ls -al /var/crash/202608052118/ ``` 1. The files are generated as follows: | File | Description | | --- | --- | | `dump.<수집 일시>` | Collected memory dump file | | `dmesg.<수집 일시>` | Kernel log at the time of the kernel panic | | `linux-image-<커널 버전>-<수집 일시>.crash` | Kernel crash summary file | | `kexec_cmd` | kexec execution information used for dump collection | Note NAVER Cloud Platform does not support analysis of memory dump files. Analyze the collected dump files using a separate tool, such as the `crash` utility. ## How to use the API/CLI You can use diagnostic interrupts through API and CLI as follows: 1. Check if you are in a [required situation](/docs/en/server-ts-interrupt-vpc#%ED%95%84%EC%9A%94%EC%83%81%ED%99%A9) to run diagnostic interrupts. 2. See the following guides and run API and CLI. - [API Guides](https://api.ncloud-docs.com/docs/en/compute-server-interruptserverinstance) - [CLI Guides](https://cli.ncloud-docs.com/docs/en/cli-server-interruptserverinstance) 3. In the VPC environment of the NAVER Cloud Platform console, navigate to **Menu** > **All Services** > **Compute** > **Server** and check that the server status is **Setting up**. 4. Check the **Restart** status of the server. 5. Try to access when the server status changes to **Running**. Note - Running API and CLI will immediately cause a forced interrupt to the server. - You can check the progress after the current interrupt occurrence through the **[Managing server and changing server settings] > Server console screenshot** function. - When a diagnostic interrupt occurs, **[Force stop]** is activated if a normal reboot is not possible. For more information on the **[Force stop]** function, see [Force stop and return](/docs/en/server-ts-return-vpc).