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
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.
- 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.
- Navigate to
>
> System > Advanced system settings > [Advanced].

- Click to select the Automatically restart check box under System failure.
- Click [Settings] in Startup and recovery and select Complete memory dump from the drop-down menu in Write debugging information.

- Click [OK] in the pop-up window.
- Click to select the Overwrite any existing file check box in the Write debugging information.
- Click [OK].
Set paging file
The following describes how to set a paging file.
%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:\.
- Navigate to
>
> System > Advanced system settings > [Advanced]. - Click [Settings] for Performance, click the [Advanced] tab, and then click [Change] for Virtual memory.

- Click to deselect the Automatically manage paging file size for all drives check box.
- 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.

- 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
- The following image shows an example setting with 8 GB of physical memory.
- Click [Set] > [OK].
- 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.
If you need technical assistance with Windows, see the following:
- Search and see the Knowledge Base.
- Contact the Community.
- 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.
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.
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.
- 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:
- Run the following command to install the kexec-tools package.
dnf install -y kexec-tools
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)
- 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"
-
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
- Run the following command to set the reserved memory size directly.
grubby --update-kernel=ALL --args="crashkernel=256M"
-
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.
- Run the following command to add the kernel panic integration options.
echo 'kernel.unknown_nmi_panic = 1' > /etc/sysctl.d/99-nmi-panic.conf
- 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:
- Run the following command to open the kdump configuration file in an editor.
vi /etc/kdump.conf
- 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
-
Descriptions of each item are as follows.
Item Description path /var/crashPath where memory dump files are stored -lCompress dump files using lzo --message-level 7Output detailed logs of the dump collection process -d 23Specifies 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.
- Run the following command to open the configuration file in an editor.
vi /etc/tmpfiles.d/kdump-cleanup.conf
- 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:
- Run the following command to enable and start the kdump service.
systemctl enable --now kdump
- Run the following command to check the status of the kdump service.
kdumpctl status
- 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:
- Run the following command to check whether the crashkernel reserved memory has been applied to the kernel boot options.
cat /proc/cmdline | grep crashkernel
- Run the following command to check whether the reserved memory has actually been allocated.
cat /proc/iomem | grep -i "crash kernel"
- Run the following command to check whether the kdump service is enabled.
systemctl is-enabled kdump
kdumpctl status
- 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:
- 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
- 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/
- 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/
-
The files are generated as follows:
File Description vmcoreCollected memory dump file vmcore-dmesg.txtKernel log at the time of the kernel panic kexec-dmesg.logBoot log of the capture kernel used for dump collection
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.
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.
- 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:
- Run the following command to install the linux-crashdump package.
apt update && apt install -y linux-crashdump
- If a screen asking whether to use kdump-tools appears during installation, select <Yes>.
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.
- Run the following command to check whether the configuration file has been created.
cat /etc/default/grub.d/kdump-tools.cfg
- 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"
-
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
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.
- Run the following command to add the kernel panic integration options.
cat <<EOF > /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
-
Descriptions of each option are as follows:
Option Description kernel.unknown_nmi_panicKernel panic on receipt of an NMI of unidentifiable cause kernel.panic_on_unrecovered_nmiKernel panic on receipt of an unrecoverable NMI kernel.panic_on_io_nmiKernel panic on receipt of an I/O-related NMI -
Run the following command to apply the settings.
sysctl --system
Check kdump service settings
To check whether the kdump-tools service is enabled:
- Run the following command.
cat /etc/default/kdump-tools | grep USE_KDUMP
- Check that
USE_KDUMP=1is output. If the value is0, open the/etc/default/kdump-toolsfile in an editor and change it toUSE_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.
- Run the following command to open the configuration file in an editor.
vi /etc/tmpfiles.d/kdump-cleanup.conf
- 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:
- 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:
- Run the following command to check whether the crashkernel reserved memory has been applied to the kernel boot options.
cat /proc/cmdline | grep crashkernel
- 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
- Run the following command to check the kdump configuration and service status.
kdump-config show
kdump-config status
- 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:
- 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/
- Run the following command to check whether the dump files have been created.
ls -al /var/crash/202608052118/
-
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-<커널 버전>-<수집 일시>.crashKernel crash summary file kexec_cmdkexec execution information used for dump collection
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:
- Check if you are in a required situation to run diagnostic interrupts.
- See the following guides and run API and CLI.
- 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.
- Check the Restart status of the server.
- Try to access when the server status changes to Running.
- 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.