Signals used by the JVM
The following Table below shows the signals that are used by the JVM. The signals have been grouped in the table by type or use, as follows:
- Exceptions: The operating system synchronously raises an appropriate exception signal whenever a fatal condition occurs.
- Errors: The JVM raises a SIGABRT if it detects a condition from which it cannot recover.
- Interrupts: Interrupt signals are raised asynchronously, from outside a JVM process, to request shutdown.
- Controls: Other signals that are used by the JVM for control purposes.
Signal Name | Signal type | Description | Disabled by -Xrs |
---|---|---|---|
SIGSEGV | Exception | Incorrect access to memory (write to inaccessible memory) | No |
SIGILL | Exception | Illegal instruction (attempt to invoke an unknown machine instruction) | No |
SIGFPE | Exception | Floating point exception (divide by zero) | No |
SIGBUS | Exception | Bus error (attempt to address nonexistent memory location) | Yes |
SIGSYS | Exception | Bad system call issued | Yes |
SIGXCPU | Exception | CPU time limit exceeded (you have been running too long) | Yes |
SIGXFSZ | Exception | File size limit exceeded | Yes |
SIGEMT | Exception | EMT instruction (AIX specific) | Yes |
SIGABRT | Error | Abnormal termination. The JVM raises this signal whenever it detects a JVM fault. | Yes |
SIGINT | Interrupt | Interactive attention (CTRL-C). JVM exits normally. | Yes |
SIGTERM | Interrupt | Termination request. JVM will exit normally. | Yes |
SIGHUP | Interrupt | Hang up. JVM exits normally. | Yes |
SIGQUIT | Control | A quit signal for a terminal. JVM uses this for taking Javadumps. | Yes |
SIGTRAP | Control | Internal for use by DBX or ptrace. Used by some JVMs for internal control purposes. | No |
SIGPIPE | Control | A write to a pipe that is not being read. JVM ignores this. | No |
No Name (40) | An AIX reserved signal. Used by the AIX JVM for internal control purposes. | No |
Use the -Xrs (reduce signal usage) option to prevent the JVM from handling most signals. For more information, see Sun's Java application launcher page at.
Do not use the -qflttrap C compiler setting because it provides the possibility of SIGTRAPs being generated, which might then impact the JIT. If you want to have floating point exceptions generated, include this call in your code:
fp_trap( FP_TRAP_SYNC)
so that it generates a SIGFPE signal.
If you install a signal handler for signal numbers 5 (SIGTRAP) or 40, you impact JVM performance because these signals are used for internal control purposes.
Signals 1 (SIGHUP), 2 (SIGINT), 4 (SIGILL), 6 (SIGABRT), 7 (SIGEMT), 8 (SIGFPE), 10 (SIGBUS), 11 (SIGSEGV), 12 (SIGSYS), 15 (SIGTERM), 24 (SIGXCPU) , and 25 (SIGXFSZ) cause the JVM to shut down; therefore, an application signal handler must not attempt to recover from these unless it no longer requires the services of the JVM.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26651/viewspace-751660/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- How the JVM processes signalsJVM
- Identify If A Disk/Part Is Still Used By ASM,Used by ASM Or Used by ASM_603210.1IDEASM
- Flask訊號機制(signals)Flask
- Signals-The Boost C++ LibrariesC++
- Script form where usedORM
- How Views Are Used (176)View
- 37 Signals的實用最小主義實踐
- Oracle Least Recently Used ChainsOracleASTAI
- Standard Functions Used in SAP Retail with ArticlesFunctionAI
- Oracle ASM Disk Used Space DirectoryOracleASM
- Accessing Frequently Used Dictionary ObjectsObject
- 從釋出-訂閱模式談談 Flask 的 Signals模式Flask
- [Oracle Script] ASM Disk Groups UsedOracleASM
- Linux程式設計入門 fork/pthread/signals(轉)Linux程式設計thread
- 教育授權certificate used to sign the license
- pod》error:The dependency `` is not used in any concrete targetError
- install redis and used in golang on ubuntu 14.04RedisGolangUbuntu
- ASM Spfile Is Not Used when ASM Instance StartsASM
- zabbix修改Template OS Linux模版Used memoryLinux
- 【JVM】JVM系列之JVM體系(一)JVM
- Android @Field parameters can only be used with form encodingAndroidORMEncoding
- name server cannot be used, reason: Temporary failure in name resolutionServerAI
- Used+Available不等於1K-blocksAIBloC
- Default Data Type Mappings Used by Oracle SQL DeveloperAPPOracleSQLDeveloper
- JVM(一)-JVM入門JVM
- 解決 TypeError: Type aliases cannot be used with isinstance(). 辦法Error
- ASM tools used by Support : KFOD, KFED, AMDU (Doc ID 1485597.1)ASM
- Can Tapes Be Used For RMAN Convert Database (Doc ID 563816.1)Database
- 【BBED】使用bbed解決 the amount of space used is not equal to block sizeBloC
- "alter system kill session" can crash the instance if IO slaves usedSession
- object dict cannot be used in await expression報錯解釋ObjectAIExpress
- JVMJVM
- [效能][JVM]jvm垃圾回收機制JVM
- JVM系列(六) – JVM垃圾回收器JVM
- JVM系列(一) - JVM總體概述JVM
- JVM系列(三) - JVM物件探祕JVM物件
- JVM系列(六) - JVM垃圾回收器JVM
- 【JVM】JVM之類載入器JVM