Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
-
Colttt
- Beiträge: 3012
- Registriert: 16.10.2008 23:25:34
- Wohnort: Brandenburg
-
Kontaktdaten:
Beitrag
von Colttt » 03.05.2011 12:58:53
Hallo,
wenn ich PostgreSQL mit einem shared_buffer von grösser 20MB starte bekomme ich folgende Meldung:
Code: Alles auswählen
/etc/init.d/postgresql restart
Restarting PostgreSQL 8.4 database server: mainThe PostgreSQL server failed to start. Please check the log output: 2011-05-03 12:44:32 CEST FATAL: konnte Shared-Memory-Segment nicht erzeugen: Das Argument ist ung?ltig 2011-05-03 12:44:32 CEST DETAIL: Fehlgeschlagener Systemaufruf war shmget(key=5432001, gr?sse=71024640, 03600). 2011-05-03 12:44:32 CEST TIPP: Dieser Fehler bedeutet gew?hnlich, dass das von PostgreSQL angeforderte Shared-Memory-Segment den Kernelparameter SHMMAX ?berschreitet. Sie k?nnen entweder die ben?tigte Shared-Memory-Gr?sse reduzieren oder SHMMAX im Kernel gr?sser konfigurieren. Um die ben?tigte Shared-Memory-Gr?sse zu reduzieren (aktuell 71024640 Bytes), reduzieren Sie den PostgreSQL-Parameter >>shared_buffers<< (aktuell 8192) und/oder >>max_connections<< (aktuell 103). Wenn die angeforderte Gr?sse schon klein ist, ist es m?glich, dass sie kleiner ist als der Kernelparameter SHMMIN. Dann m?ssen Sie die ben?tigte Shared-Memory-Gr?sse erh?hen oder SHMMIN ?ndern. Die PostgreSQL-Dokumentation enth?lt weitere Informationen ?ber die Konfiguration von Shared Memory. ... failed!
failed!
wie kann ich das richtig einstellen das es trotzdem geht?
Debian-Nutzer
ZABBIX Certified Specialist
-
hikaru
- Moderator
- Beiträge: 13957
- Registriert: 09.04.2008 12:48:59
Beitrag
von hikaru » 03.05.2011 13:57:52
Ui, Postgre, lange her...
Was steht denn momentan in /proc/sys/kernel/shmmax ? Der Fehlermeldung nach zu urteilen soll es wohl helfen den Wert zu erhöhen.
Wenn ich mich richtig erinnere kannst du da bis zur halben RAM-Größe angeben (in Bytes). Gibst du mehr an wird entweder der default-Wert verwendet oder die halbe RAM-Größe. Ich weiß es nicht mehr genau. Das System bleibt aber in jedem Fall bootfähig was du dann auch gleich testen kannst da nach der Änderung ohnehin ein Reboot fällig wird.
-
Colttt
- Beiträge: 3012
- Registriert: 16.10.2008 23:25:34
- Wohnort: Brandenburg
-
Kontaktdaten:
Beitrag
von Colttt » 03.05.2011 16:19:45
und die halbe RAM grösse(1GB) kann i nicht angeben, wie gesagt das limit liegt momentan so bei knappe 20MB.. anbei noch die postgresql.conf (ohne kommentare)
Code: Alles auswählen
data_directory = '/var/lib/postgresql/8.4/main' # use data in another directory
hba_file = '/etc/postgresql/8.4/main/pg_hba.conf' # host-based authentication file
ident_file = '/etc/postgresql/8.4/main/pg_ident.conf' # ident configuration file
external_pid_file = '/var/run/postgresql/8.4-main.pid' # write an extra PID file
port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
unix_socket_directory = '/var/run/postgresql' # (change requires restart)
ssl = true # (change requires restart)
shared_buffers = 16MB # min 128kB
log_line_prefix = '%t ' # special values:
datestyle = 'iso, dmy'
lc_messages = 'de_DE.UTF-8' # locale for system error message
lc_monetary = 'de_DE.UTF-8' # locale for monetary formatting
lc_numeric = 'de_DE.UTF-8' # locale for number formatting
lc_time = 'de_DE.UTF-8' # locale for time formatting
default_text_search_config = 'pg_catalog.german'
Debian-Nutzer
ZABBIX Certified Specialist
-
hikaru
- Moderator
- Beiträge: 13957
- Registriert: 09.04.2008 12:48:59
Beitrag
von hikaru » 03.05.2011 16:43:01
Ich meinte den Wert von SHMMAX, nicht die postgresql.conf.
Probier doch mal den Wert in /proc/sys/kernel/shmmax von aktuell 32MB auf 128MB anzuheben denn 64MB würden dir ja nicht reichen! Das geht wohl über /etc/sysctl.conf bzw. sysctl.
Da ich im Moment auch nur google kann ich dir das Lesen auch selbst überlassen:
http://www.linuxforums.org/forum/red-ha ... hmmax.html