SUMMARY: get_semaphore() error during dump

From: James Anderson <anderson_at_ocaxp1.cc.oberlin.edu>
Date: Mon, 16 Dec 1996 10:06:17 -0500 (EST)

The question.

>
> Started receiving the follow error from dump:
>
> get_semaphore(): semget() for slave_semid: No space left on device
> dump: SIGTERM received -- Try rewriting
> dump: Unexpected signal -- attempting to rewrite from last checkpoint
> dump: Cannot remove semaphores
> remove_semaphore(): semctl() for slave: Invalid argument
>
> Called CSC they had me check the available space on /tmp. At the time,
> there was ~6M free (/tmp was on /). Linked /tmp to /usr/tmp (~294M free)
> still getting the error.
>
> Tried doing a restore today and it yielded:
>
> bash# restore -ivf /dev/nrmt1h
> Verify tape and initialize maps
> Tape read error: No space left on device
> bash# df .
> Filesystem 1024-blocks Used Available Capacity Mounted on
> /dev/rz8c 1991325 1482638 309554 83% /usr/users
>
> Any advice?
>

I received two answers on this. First from a fellow sysadmin who stated
he saw the same thing until he made sure that the final device name in a
shell script of backups was to the rewind device (rstxx) instead of the
no-rewind (nrstxx) device. Didn't try it, so I don't know if it would
have made a difference.

Second response came from my call to CSC. What follows is the document
that was sent to me to make changes to the sysconfig file on my box.
Made the recommended changes and all is fine.

Thanks to all

Jim


>From sri_at_decatl.alf.dec.com Mon Dec 16 10:04:52 1996
Date: Thu, 12 Dec 1996 11:59:18 -0500
From: Sridhar Chirravuri <sri_at_decatl.alf.dec.com>
To: anderson_at_ocaxp1.cc.oberlin.edu
Subject: How to change/configure ipc and more


How to change the configurable parameters via sysconfigtab
==========================================================

1) To list what are the dynamically configurable sub-systems:

        /sbin/sysconfig -s

           The output might look like the following:

        cm: loaded and configured
        generic: loaded and configured
        proc: loaded and configured
        io: loaded and configured
        vm: loaded and configured
        vfs: loaded and configured
        ufs: loaded and configured
        advfs: loaded and configured
        ipc: loaded and configured /** (shared memory, semaphore stuff!)
        tty: loaded and configured
        xpr: loaded and configured
        rt: loaded and configured
        lsm: loaded and configured
        net: loaded and configured
        dli: loaded and configured
        lat: loaded and configured
        bufcall: loaded and configured
        kinfo: loaded and configured
        strstd: loaded and configured
        timod: loaded and configured
        tirdwr: loaded and configured
        xtiso: loaded and configured
        dlb: loaded and configured
        dlpi: loaded and configured
        ldtty: loaded and configured
        pts: loaded and configured
        pckt: loaded and configured
        knbtcp: loaded and configured
        knbtcpd: loaded and configured
        knbadm: loaded and configured
        nbeadmin: loaded and configured
        netbeuid: loaded and configured
        netbeui: loaded and configured

2) To look at parameters of individual sub-systems:
        
        /sbin/sysconfig -q sub-system-name
        
        for example:

        /sbin/sysconfig -q generic
        clock-frequency = 1024
        booted_kernel = vmunix
        booted_args = vmunix
        lockmode = 0
        lockdebug = 0
        locktimeout = 15
        rt_preempt_opt = 0
        rt-preempt-opt = 0
        cpu_enable_mask = 5
        cpu-enable-mask = 5
        msgbuf_size = 4096
        message-buffer-size = 4096


3) Now, how to change these parameters?
        
        Edit the file "/etc/sysconfigtab" and put the parameters
        you want to change under the section with the sub-system
        to which that parameter belongs. For example if you want
        to change the msgbuf_size from 4096 to 8192, you can put the
        following line in the /etc/configtab file:

        generic:
                msgbuf_size = 8192

        
        A second example:
        
        If you want to change the ubc-maxpercent to 20 you would have
        the following thing in the kernel:

        vm:
                ubc-maxpercent = 20

        #{
        # Example format of the /etc/sysconfitab file:

        <sub-system-heading>:
        <tab-space> <parameter> = <value>
        <tab-space> <parameter> = <value>
        
        <sub-system-heading>:
        <tab-space> <parameter> = <value>
        <tab-space> <parameter> = <value>

        #}

4) Discussion:

        Many subsystems would need a reboot to put these values into effect.
        (Note that this procedure doesn't need a kernel re-build)
        
        You might notice that some of these parameters such as "shm-max"
        of the ipc subsystem has some correpondece to "shmmax" that is
        be hard coded into the kernel via the /sys/conf/HOSTNAME file.
        But configuring via sysconfigtab is getting more of a standard.
        

==============================================================================
NOTE-1:

        A typical Oracle or informix database users generally realize
that they want to increase the shared-memory and/or semaphore
parameters. So, I am including a common subset of parameters which
users try to change.

# sysconfig -q ipc
msg-max = 8192
msg-mnb = 16384
msg-mni = 64
msg-tql = 40
shm-max = 67108864
shm-min = 1
shm-mni = 128
shm-seg = 32
sem-mni = 16
sem-msl = 25
sem-opm = 10
sem-ume = 10 (Number of semaphore undo structures)
sem-vmx = 32767
sem-aem = 16384
num-of-sems = 60 (semmns equivalant)
max-kernel-ports = 22487
port-hash-max-num = 1124350
port-reserved-max-num = 22487
set-max-num = 1029

        Typically msg-mni can be between 128-256; shm-max can be
134217728; shm-mni would be 128-512; shm-seg would be 64-128;
and sem-mni would be 32-64.

        Note that these parameter hold for for mid-size databases
which run on the systems with a typical virtual addresseable space of
(virtual addresseable space is approaximately equivalant to the sum
of physical memory and swap space on the system) 128MB-2Gig.
Also, please note that these guidelines are only, neither supplement
nor complement to what your database require/recommend. Have a nice
start. Please have a upper limit of about 2 Gigabites on system V
parameters memory sizes now.

        Also, the real-time "rt" sub-system can be tuned for
kernel asynchronous i/o capabilities. (Used for raw disk I/O access)

NOTE-3:

        You might need to increase some process limits in-order to
make available lot more memory for the processes by tuning the
"proc" sub-system of sysconfig utility. Typical values of choice would
be:

# sysconfig -q proc
max-proc-per-user = 256
max-threads-per-user = 32768
per-proc-stack-size = 2097152
max-per-proc-stack-size = 33554432
per-proc-data-size = 134217728
max-per-proc-data-size = 1073741824
max-per-proc-address-space = 1073741824
per-proc-address-space = 1073741824


NOTE-4:

        You might need to incease maxusers parameter in your
kernel configuration file (/sys/conf/HOSTNAME) and re-build
the kernel (doconfig -c HOSTNAME) to increase the system
wide number of processes. This is particularly important if
you have lotta memory and lotta users/processes going on the
system. You can check it by:

# echo "p maxusers" | dbx -k /vmunix /dev/mem

(If you don't have enough maxusers values., you might see
a message that task/proc table full messages)


----
_______________________________________________________________________________
James C. Anderson                      PHONE: (216) 775-6929
Computer Systems Manager                 FAX: (216) 775-8573
Houck Computing Center                 Email: anderson_at_ocaxp1.cc.oberlin.edu
Oberlin College                   Home Page: http://www.oberlin.edu/~anderson/
Oberlin, OH 44074
_______________________________________________________________________________
Received on Mon Dec 16 1996 - 16:30:16 NZDT

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:47 NZDT