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
Solved

HOw do i reconfigure solaris 9 projects

Posted on 2009-04-14
16
511 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
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

 
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

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

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…
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 how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
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…

789 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