私はLinuxシステム用のipcsコマンドを知っていますが、Solaris、hp-ux、aixシステム用のipcsコマンドを探しています。ウェブサイトでたくさん検索しましたが、ほとんどの人がipcs -am、ipcs -as、またはipcs -aを提案しました。 。
Linuxでipcsコマンドを実行すると、次の出力が表示されます。
cmd > ipcs -lm
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 32768
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1
cmd > ipcs -ls
------ Semaphore Limits --------
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 32
semaphore max value = 32767
ただし、aix、Solaris、およびhp-uxでこのコマンドを実行すると、すべてのシステムでほぼ次のような出力が得られます。
cmd > ipcs -am
IPC status from /dev/mem as of Wed Aug 12 21:33:15 IST 2015
T ID KEY MODE OWNER GROUP CREATOR CGROUP NATTCH SEGSZ CPID LPID ATIME DTIME CTIME
Shared Memory:
m 1048576 0xffffffff D-rw------- pconsole system pconsole system 1 536870912 5177546 5177546 20:53:54 no-entry 20:53:54
m 1048577 0x78000012 --rw-rw-rw- root system root system 1 268435456 5112058 3801148 20:53:52 21:30:20 20:53:52
m 1048578 0x7800000c --rw-rw-rw- root system root system 1 16777216 5112058 3801148 20:53:52 21:30:20 20:53:52
m 1048579 0x61000010 --rw------- pconsole system pconsole system 1 10485760 5177546 5177546 20:53:54 no-entry 20:53:54
m 629145605 0xffffffff D-rw------- kalai egurkha kalai egurkha 1 536870912 9175052 9961658 22:36:08 21:33:06 22:36:08
m 22020103 0x0d02337e --rw-rw---- root system root system 0 1440 7930086 7864444 20:57:46 6:10:14 22:19:05
cmd > ipcs -as
IPC status from /dev/mem as of Wed Aug 12 21:34:01 IST 2015
T ID KEY MODE OWNER GROUP CREATOR CGROUP NSEMS OTIME CTIME
Semaphores:
s 1 0x62023470 --ra-r--r-- root system root system 1 20:53:24 20:53:24
s 3145732 0x0100b38a --ra-ra-ra- root system root system 2 20:53:52 20:53:52
s 3145733 0xffffffff --ra------- root system root system 2 no-entry 20:53:52
s 8 0x8100000e --ra------- pconsole system pconsole system 4 22:58:27 20:53:54
s 9 0xa1003002 --ra-ra-ra- pconsole system pconsole system 2 21:29:28 20:53:56
s 10 0x010232b8 --ra------- root system root system 1 2:03:46 21:07:18
s 11 0x0101c6e8 --ra-ra-ra- root staff root staff 1 21:28:42 21:07:44
問題は、次のデータの値が見つからないことです。
------ Shared Memory Limits --------
max number of segments = ?
max seg size (kbytes) = ?
max total shared memory (kbytes) = ?
min seg size (bytes) = ?
------ Semaphore Limits --------
max number of arrays = ?
max semaphores per array = ?
max semaphores system wide = ?
max ops per semop call = ?
semaphore max value = ?
上記のデータの値を見つける方法、または私の要件を満たすことができる他の解決策があるかどうかを教えてください。
事前にありがとう
答え1
答え2
Solaris 10 および Solaris 11 では、prctl コマンドを使用できます。しかし、あなたは〜しなければならないエリアやアイテムの操作には非常に複雑なので、ドキュメントをお読みください。
現在、大域ゾーンで実行されているSolaris 11を例にします。
prctl $$
project.max-shm-memory
privileged 40.3GB - deny -
system 16.0EB max deny -
project.max-shm-ids
privileged 128 - deny -
system 16.8M max deny -
--
zone.max-shm-memory
usage 0B
system 16.0EB max deny -
zone.max-shm-ids
usage 0
system 16.8M max deny
-
上記は、私の大域ゾーンに共有メモリやセマフォIDに制限がないことを示しています。
# prctl $$| ggrep -A2 shm
project.max-shm-memory
privileged 1.96GB - deny -
system 16.0EB max deny -
project.max-shm-ids
privileged 128 - deny -
system 16.8M max deny -
--
zone.max-shm-memory
usage 1.89GB
privileged 6.40GB - deny -
--
zone.max-shm-ids
usage 3
system 16.8M max deny
-
2番目の出力は、非大域ゾーンの共有メモリ制限が6.4 GBで、使用されているメモリが2 GBに近いことを示しています。リソース制御リストを表示するには、その項目を表示できます。ここ。 Solaris 10では大きな違いはありませんが、確認する必要があります。文書。