Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitca22223

Browse files
committed
start of an admin tool for FreeBSD to help configure shared memory forthat machineI kept the name as generic as possible though, as other OS should havesimilar methods, so this can be extended "as appropriate" ...
1 parentdf247b8 commitca22223

File tree

2 files changed

+73
-0
lines changed

2 files changed

+73
-0
lines changed

‎contrib/ipc_check/README

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
2+
This simple perl script was designed under FreeBSD, and, right now, is
3+
limited to it. It provides a simple way of determining and directing
4+
administrators in what has to be done to get IPC working, and configured.
5+
6+
Usage:
7+
8+
ipc_check.pl
9+
10+
- simply checks for semaphores and shared memory being enabled
11+
- if one or other is not enabled, appropriate "options" are provided
12+
to get it compiled into the kernel
13+
14+
ipc_check.pl -B <# of buffers>
15+
16+
- checks to see if there are sufficient shared memory buffers to
17+
run the postmaster with a -B option as provided
18+
- if insufficient buffers are provided, appropriate 'sysctl' commands,
19+
and instructions, are provided to the administrator to increase
20+
them
21+
22+

‎contrib/ipc_check/ipc_check.pl

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#!/usr/bin/perl
2+
3+
# Notes ... -B 1 == 8k
4+
5+
if(@ARGV > 1) {
6+
if($ARGV[0]eq"-B") {
7+
$buffers =$ARGV[1];
8+
}
9+
}
10+
11+
if($buffers > 0) {
12+
$kb_memory_required =$buffers * 8;
13+
}
14+
15+
$shm =`sysctl kern.ipc | grep shmall`;
16+
($junk,$shm_amt ) =split(//,$shm);
17+
chomp($shm_amt);
18+
$sem =`sysctl kern.ipc | grep semmap`;
19+
20+
print"\n\n";
21+
if(length($shm) > 0) {
22+
printf"shared memory enabled:%d kB available\n",$shm_amt * 4;
23+
if($buffers > 0) {
24+
if($kb_memory_required / 4 >$shm_amt) {
25+
print"\n";
26+
print"to provide enough shared memory for a\"-B$buffers\" setting\n";
27+
print"issue the following command\n\n";
28+
printf"\tsysctl -w kern.ipc.shmall=%d\n",$kb_memory_required / 4;
29+
print"\nand add the following to your /etc/sysctl.conf file:\n\n";
30+
printf"\tkern.ipc.shmall=%d\n",$kb_memory_required / 4;
31+
}else {
32+
print"\n";
33+
print"no changes to kernel required for a\"-B$buffers\" setting\n";
34+
}
35+
}
36+
}else {
37+
print"no shared memory support available\n";
38+
print"add the following option to your kernel config:\n\n";
39+
print"\toptions SYSVSHM\n\n";
40+
}
41+
42+
print"\n==========================\n\n";
43+
if(length($sem) > 0) {
44+
print"semaphores enabled\n";
45+
}else {
46+
print"no semaphore support available\n";
47+
print"add the following option to your kernel config:\n\n";
48+
print"\toptions SYSVSEM\n\n";
49+
}
50+
51+

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp