Document Type | Troubleshooting
Category | Administration
Applicable Product Versions | 5SP1FS01, 5SP1FS02, 5SP1FS03, 5SP1FS04, 5SP1FS06, 6FS01, 6FS02, 6FS03, 6FS04, 6FS05, 6FS06, 6FS07, 6FS07PS, 7FS01, 7FS02, 7FS02PS
Document Number | TADTS009
Issue
When starting Tibero, the error "Cannot get shared memory segment" occurs, and it does not start normally.
$ tbboot shmget failed.: No space left on device *************************************************************************** * Cannot get shared memory segment: * SHM_KEY = 0x780d5c27, size = 3221225472, errno=28 (No space left on device) ***************************************************************************
Cause
In Linux, files stored on disk are loaded into the memory area called the file cache before use, compensating for the relatively slower performance compared to disk access.
Also, even after using the files, the data is not immediately released but kept in the file cache considering the possibility of future reuse, reducing the overhead of reloading from the slow disk.
If available memory becomes insufficient due to unreleased file cache, the "Cannot get shared memory segment" error may occur when starting Tibero, causing startup failure.
$ tbboot shmget failed.: No space left on device *************************************************************************** * Cannot get shared memory segment: * SHM_KEY = 0x780d5c27, size = 3221225472, errno=28 (No space left on device) ***************************************************************************
You can check the usage of the file cache area (buffers/cache) and the actual free memory of the system using the free command.
# free -mt
total used free shared buff/cache available
Mem: 18046 4606 2844 9834 10596 3369
Swap: 32763 724 32039
Total: 50810 5330 34884
Solutions
Use the vm.drop_caches kernel parameter to release memory in the file cache area, securing free memory, and then try starting Tibero again.
Below is an example of application.
# sync
* Reflects data changed only in memory to disk before clearing the file cache.
# sysctl -w vm.drop_caches=3
vm.drop_caches = 3
* Releases occupied file cache memory
# free -mt
total used free shared buff/cache available
Mem: 18046 4500 3861 9221 9684 4087
Swap: 32763 724 32039
Total: 50810 5224 35901
* Secured free memory by releasing file cache
$ tbboot
Listener port = 8629
Tibero 7
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Tibero instance started up (NORMAL mode).
* Startup successfulNote
The vm.drop_caches kernel parameter applies only at the time of setting and is not a persistent setting.
Using this parameter allows selective release of items stored in the file cache.
Below are examples of settings.1. Release pagecache # sysctl -w vm.drop_caches = 1 2. Release dentries, inodes # sysctl -w vm.drop_caches = 2 3. Release pagecache, dentries, inodes # sysctl -w vm.drop_caches = 3