• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 530
  • Last Modified:

HOw do i reconfigure solaris 9 projects

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
clarkjim
Asked:
clarkjim
  • 5
  • 5
  • 4
  • +1
1 Solution
 
gheistCommented:
Sparc? amd64? i386?
Normally it goes automatically. Hyperthreading sometimes not imported from PC BIOS
0
 
Brian UtterbackPrinciple Software EngineerCommented:
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
 
clarkjimAuthor Commented:
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
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
gheistCommented:
Try to post prtconf and uname -a
Maybe there is lower level problem to be ruled out before fixing individual app.
0
 
clarkjimAuthor Commented:
# 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
 
gheistCommented:
Hardware detected OK
Patch cluster http://sunsolve.sun.com/show.do?target=patches/summary advisable, but does not make change towards solution.
0
 
clarkjimAuthor Commented:
The issue is the Customer has  two applications that they have only paid to run on 2 cpu's.  
0
 
gheistCommented:
No piracy in this forum....
0
 
Brian UtterbackPrinciple Software EngineerCommented:
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
 
Brian UtterbackPrinciple Software EngineerCommented:
Ignore the last line, left overs from a draft.
0
 
nyaarCommented:
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
 
Brian UtterbackPrinciple Software EngineerCommented:
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
 
nyaarCommented:
Of course, you have to  spare at least one for the kernel :D
0
 
clarkjimAuthor Commented:
Thanks all for the input. How would I create the second processor set?
0
 
Brian UtterbackPrinciple Software EngineerCommented:
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
 
clarkjimAuthor Commented:
Thanks for your time and expertise.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 5
  • 5
  • 4
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now