Solved

HOw do i reconfigure solaris 9 projects

Posted on 2009-04-14
16
509 Views
Last Modified: 2013-12-27
I have two servers that a user set up that restricts this user to using 2 of the 4 available cpu's. The cutomer now wants another user configured restricted to the other 2 cpus. I have never used projects and am unsure how t oconfigure this.
0
Comment
Question by:clarkjim
  • 5
  • 5
  • 4
  • +1
16 Comments
 
LVL 62

Expert Comment

by:gheist
ID: 24146178
Sparc? amd64? i386?
Normally it goes automatically. Hyperthreading sometimes not imported from PC BIOS
0
 
LVL 22

Expert Comment

by:blu
ID: 24146784
I am not sure that what you want is possible. The problem here is that the methods provided to bind particular processes or projects to particular cpus  also have the side effect of blocking every other process from using those cpus. So, in
the current situation you described, the user has exclusive use of two cpus. If you give the new user exclusive use of
the other two cpus, that uses all 4, and then there isn't any left over for the kernel or other processes.

So, perhaps there is something else going on here. I think the first step is to figure out what is already configured.

Run these commands and post the output:

projects -lv
poolcfg -c 'info' /etc/pooladm.conf
psrset -i

0
 

Author Comment

by:clarkjim
ID: 24150241
Thnaks for the response. Here is the information you requested. They want another user configured like the hrwebid that is shown below but using the other 2 available cpu's.  

# projects -v
user.root
default
# poolcfg -c 'info' /etc/pooladm.conf

system BOBJ
        string system.comment
        int system.version 1
        boolean system.bind-default true

        pool default_pool
                string pool.comment Default resource  pool
                boolean pool.default true
                boolean pool.active true
                int pool.importance 1
                pset default_pset

        pool XI_pool
                string pool.comment XI resource pool
                boolean pool.default false
                boolean pool.active true
                int pool.importance 1
                string pool.scheduler FSS
                pset XI_pset

        pset default_pset
                string pset.comment Default Processor set
                int pset.sys_id -2
                string pset.units population
                boolean pset.default true
                uint pset.max 6
                uint pset.min 6
                boolean pset.escapable false
                uint pset.load 0
                uint pset.size 0

        pset XI_pset
                string pset.comment Restrict XI to two processors
                int pset.sys_id -2
                string pset.units population
                boolean pset.default false
                uint pset.max 2
                uint pset.min 2
                boolean pset.escapable false
                uint pset.load 0
                uint pset.size 0

#
# psrset -i
user processor set 1: processors 0 1
#
# cat /etc/project
system:0::::
user.root:1::::
noproject:2::::
default:3::::
group.staff:10::::
XI:5000:Business Object - XI:hrwebid::
user.hrwebid:5000::::project.pool=XI_pool
group.hrwebid:5000::::project.pool=XI_pool
#
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 62

Expert Comment

by:gheist
ID: 24150322
Try to post prtconf and uname -a
Maybe there is lower level problem to be ruled out before fixing individual app.
0
 

Author Comment

by:clarkjim
ID: 24150384
# uname -a
SunOS cpss3000 5.9 Generic_122300-28 sun4u sparc SUNW,Sun-Fire-V490
# prtconf
System Configuration:  Sun Microsystems  sun4u
Memory size: 16384 Megabytes
System Peripherals (Software Nodes):

SUNW,Sun-Fire-V490
    packages (driver not attached)
        SUNW,builtin-drivers (driver not attached)
        deblocker (driver not attached)
        disk-label (driver not attached)
        terminal-emulator (driver not attached)
        SUNW,debug (driver not attached)
        dropins (driver not attached)
        obp-tftp (driver not attached)
        kbd-translator (driver not attached)
        SUNW,i2c-ram-device (driver not attached)
        SUNW,fru-device (driver not attached)
        ufs-file-system (driver not attached)
    chosen (driver not attached)
    openprom (driver not attached)
        client-services (driver not attached)
    options, instance #0
    aliases (driver not attached)
    memory (driver not attached)
    virtual-memory (driver not attached)
    cmp (driver not attached)
        cpu (driver not attached)
        cpu (driver not attached)
    memory-controller, instance #0
    cmp (driver not attached)
        cpu (driver not attached)
        cpu (driver not attached)
    memory-controller, instance #1
    cmp (driver not attached)
        cpu (driver not attached)
        cpu (driver not attached)
    memory-controller, instance #2
    cmp (driver not attached)
        cpu (driver not attached)
        cpu (driver not attached)
    memory-controller, instance #3
    pci, instance #0
        ide, instance #0
            disk (driver not attached)
            cdrom (driver not attached)
            sd, instance #30
    pci, instance #1
        pci, instance #0
            network, instance #0
            network, instance #1
            scsi, instance #0
                disk (driver not attached)
                tape (driver not attached)
                sd, instance #0
                sd, instance #1
                sd, instance #2 (driver not attached)
                sd, instance #3 (driver not attached)
                sd, instance #4 (driver not attached)
                sd, instance #5 (driver not attached)
                sd, instance #6 (driver not attached)
                sd, instance #7 (driver not attached)
                sd, instance #8 (driver not attached)
                sd, instance #9 (driver not attached)
                sd, instance #10 (driver not attached)
                sd, instance #11 (driver not attached)
                sd, instance #12 (driver not attached)
                sd, instance #13 (driver not attached)
                sd, instance #14 (driver not attached)
            scsi, instance #1
                disk (driver not attached)
                tape (driver not attached)
                sd, instance #15 (driver not attached)
                sd, instance #16 (driver not attached)
                sd, instance #17 (driver not attached)
                sd, instance #18 (driver not attached)
                sd, instance #19 (driver not attached)
                sd, instance #20 (driver not attached)
                sd, instance #21 (driver not attached)
                sd, instance #22 (driver not attached)
                sd, instance #23 (driver not attached)
                sd, instance #24 (driver not attached)
                sd, instance #25 (driver not attached)
                sd, instance #26 (driver not attached)
                sd, instance #27 (driver not attached)
                sd, instance #28 (driver not attached)
                sd, instance #29 (driver not attached)
    pci, instance #2
        ebus, instance #0
            flashprom (driver not attached)
            bbc (driver not attached)
            power (driver not attached)
            i2c, instance #1
                fru, instance #0
                fru, instance #1
                fru, instance #2
                fru, instance #3
                fru, instance #4
                fru, instance #5
                fru, instance #6
                fru, instance #7
                fru, instance #8
                fru, instance #9
                fru, instance #10
                fru, instance #11
                fru, instance #12
                fru, instance #13
                fru, instance #14
                fru, instance #15
                fru, instance #16
                fru, instance #17
                fru, instance #18
                fru, instance #19
                fru, instance #20
                fru, instance #21
                fru, instance #22
                fru, instance #23
                fru, instance #24
                fru, instance #25
                fru, instance #26
                fru, instance #27
                fru, instance #28
                fru, instance #29
                fru, instance #30
                fru, instance #31
                fru, instance #32
                fru, instance #33
                nvram, instance #34
                idprom (driver not attached)
                fru, instance #35
                fru, instance #36
            i2c, instance #0
                temperature, instance #0
                temperature, instance #1
                temperature, instance #2
                ioexp, instance #0
                ioexp, instance #1
                ioexp, instance #2
                temperature, instance #3
                ioexp, instance #3
                ioexp, instance #4
                ioexp, instance #0
                ioexp, instance #1
                temperature-sensor, instance #0
                fru, instance #37
                fru, instance #38
                fru, instance #39
                fru, instance #40
                fru, instance #41
                rscrtc (driver not attached)
            rtc, instance #0
            gpio (driver not attached)
            pmc (driver not attached)
            rsc-control (driver not attached)
            rsc-console (driver not attached)
            serial, instance #0
        usb, instance #0
        network, instance #2
    pci, instance #3
        network, instance #3
        SUNW,qlc, instance #0
            fp (driver not attached)
                disk (driver not attached)
            fp, instance #0
                ssd, instance #0
                ssd, instance #1
    pseudo, instance #0
#
0
 
LVL 62

Expert Comment

by:gheist
ID: 24150491
Hardware detected OK
Patch cluster http://sunsolve.sun.com/show.do?target=patches/summary advisable, but does not make change towards solution.
0
 

Author Comment

by:clarkjim
ID: 24150556
The issue is the Customer has  two applications that they have only paid to run on 2 cpu's.  
0
 
LVL 62

Expert Comment

by:gheist
ID: 24150566
No piracy in this forum....
0
 
LVL 22

Accepted Solution

by:
blu earned 500 total points
ID: 24150835
Gheist, are we looking at the same question? Your requests don't seem to have anything to do with the question.

So, back to the problem at hand. You didn't do the "-lv" but luckily the same info comes from the project file.

I am not still not sure what you want is possible, since I don't think that you have enough CPUS. But maybe I am wrong about how processor sets are implemented in resources.

So the procedure is pretty straight forward, just duplicate what you already had for the new user:

First create a new pool:
poolcfg -c 'create pset X2_pset ( uint pset.min = 2 ; uint pset.max = 2)'
poolcfg -c 'create pool X2_pool'
poolcfg -c 'associate pool X2_pool ( pset X2_pset )'

Then create a new project by editing the project file, adding these lines:
X2:6000:Business Object - X2:newuser::
user.newuser:6000::::project.pool=X2_pool
group.newuser:6000::::project.pool=X2_pool
 (adjust names and number to taste)

I think that is you check the passwd and/or group files, the user is also added to group, so you probably need to
follow the same plan as for the existing user.

I don't think that a reboot is required after that, just logging out and logging back in. You may need to configure the
pool in the kernel using the "-d" flag to poolcfg, see the man page.  As I said, it may balk at the min=max=2 for two
users on a 4 cpu system.  In which case, your only recourse may be to change min to 1 on both users.

Then put them together:

0
 
LVL 22

Expert Comment

by:blu
ID: 24150847
Ignore the last line, left overs from a draft.
0
 
LVL 2

Expert Comment

by:nyaar
ID: 24249021
you can just bind the processors to the process that is going to use them =)  In this way, app1 could use proc1 and proc2 in exclusive, and app2 could use proc3 and proc4.

Tell me if you are insterested =)
0
 
LVL 22

Expert Comment

by:blu
ID: 24250261
the problem with that solution is what I said before, if you bind all for processors for exclusive use to user land processes, there aren't any left over for the kernel.
0
 
LVL 2

Expert Comment

by:nyaar
ID: 24250963
Of course, you have to  spare at least one for the kernel :D
0
 

Author Comment

by:clarkjim
ID: 24255776
Thanks all for the input. How would I create the second processor set?
0
 
LVL 22

Expert Comment

by:blu
ID: 24259386
If you are making a processor set to attach to a pool to associate with a project, you should just follow my previous instruction above. The ones about using poolcfg.
0
 

Author Closing Comment

by:clarkjim
ID: 31570060
Thanks for your time and expertise.
0

Featured Post

ScreenConnect 6.0 Free Trial

Discover new time-saving features in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI, app configurations and chat acknowledgement to improve customer engagement!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
auto mounter on solaris 1 59
aix tls version 6 313
Martian Packets Unix 5 51
SCP a file to multiple machines using a script 4 44
Let's say you need to move the data of a file system from one partition to another. This generally involves dismounting the file system, backing it up to tapes, and restoring it to a new partition. You may also copy the file system from one place to…
I promised to write further about my project, and here I am.  First, I needed to setup the Primary Server.  You can read how in this article: Setup FreeBSD Server with full HDD encryption (http://www.experts-exchange.com/OS/Unix/BSD/FreeBSD/A_3660-S…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question