?
Solved

HOw do i reconfigure solaris 9 projects

Posted on 2009-04-14
16
Medium Priority
?
518 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
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 2000 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

Get real performance insights from real users

Key features:
- Total Pages Views and Load times
- Top Pages Viewed and Load Times
- Real Time Site Page Build Performance
- Users’ Browser and Platform Performance
- Geographic User Breakdown
- And more

Question has a verified solution.

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

In tuning file systems on the Solaris Operating System, changing some parameters of a file system usually destroys the data on it. For instance, changing the cache segment block size in the volume of a T3 requires that you delete the existing volu…
FreeBSD on EC2 FreeBSD (https://www.freebsd.org) is a robust Unix-like operating system that has been around for many years. FreeBSD is available on Amazon EC2 through Amazon Machine Images (AMIs) provided by FreeBSD developer and security office…
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 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.:
Suggested Courses
Course of the Month10 days, 10 hours left to enroll

765 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