Solved

HOw do i reconfigure solaris 9 projects

Posted on 2009-04-14
16
502 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 61

Expert Comment

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

Expert Comment

by:blu
Comment Utility
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
Comment Utility
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
 
LVL 61

Expert Comment

by:gheist
Comment Utility
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
Comment Utility
# 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 61

Expert Comment

by:gheist
Comment Utility
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
Comment Utility
The issue is the Customer has  two applications that they have only paid to run on 2 cpu's.  
0
 
LVL 61

Expert Comment

by:gheist
Comment Utility
No piracy in this forum....
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 22

Accepted Solution

by:
blu earned 500 total points
Comment Utility
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
Comment Utility
Ignore the last line, left overs from a draft.
0
 
LVL 2

Expert Comment

by:nyaar
Comment Utility
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
Comment Utility
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
Comment Utility
Of course, you have to  spare at least one for the kernel :D
0
 

Author Comment

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

Expert Comment

by:blu
Comment Utility
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
Comment Utility
Thanks for your time and expertise.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Installing FreeBSD… FreeBSD is a darling of an operating system. The stability and usability make it a clear choice for servers and desktops (for the cunning). Savvy?  The Ports collection makes available every popular FOSS application and packag…
Why Shell Scripting? Shell scripting is a powerful method of accessing UNIX systems and it is very flexible. Shell scripts are required when we want to execute a sequence of commands in Unix flavored operating systems. “Shell” is the command line i…
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
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…

762 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

Need Help in Real-Time?

Connect with top rated Experts

6 Experts available now in Live!

Get 1:1 Help Now