09-10-2009
prstat
hi all,
was trying to figure out how busy my app was by looking at the performance of the app server. did a 'prstat -s rss' command to find the app servers using most memory.
Found a command 'prstat -m' which is meant to show more details on each pid but the output of this command displays other users as well.
is there a way to sort the output based on the 'USERNAME' column ??
thanks in advance.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hello,
The last line of prstat shows load average.
I am unable to figure out what actually it is.
I have read the man pages and also googled, all for no use.
Can somebody help me, as to what should be the avg. load of the system for best performance and how is this load of prstat calculated. (6 Replies)
Discussion started by: vibhor_agarwali
6 Replies
2. Shell Programming and Scripting
Hi,
I need a script which uses prstat command to check the performance . if a load averages crosses some threshold means I should receive the mail. this script should always run in back ground.
Kindly help me on this. (1 Reply)
Discussion started by: jayaramanit
1 Replies
3. Solaris
Hi All,
Operating System and Version: SunOS,Solaris 10 sparc(64 bit)
RDBMS Version: 10.2.0.4.0
But the prstat logs of my system shows:-
NPROC USERNAME SWAP RSS MEMORY TIME CPU
83 cemsbin 5204M 3604M 22% 53:46:00 6.7%
2 adm 244M 240M 1.5% 15:13:53 3.5%
77 oracle 17G 10G 65% 4:24:47... (0 Replies)
Discussion started by: dipashre
0 Replies
4. Solaris
Good Evening everyone,
I am confused about prstat O/P as it shows memory values which are different from actual value.Below is the O/P of prstat command and swap commands.
NPROC USERNAME SIZE RSS MEMORY TIME CPU
48 root 2113M 1590M 1.2% 45:09.39 32%
31 daemon ... (7 Replies)
Discussion started by: vvpotugunta
7 Replies
5. Shell Programming and Scripting
Hi,
Is there any way by which the unit of size and rss will be only GB while I am running the prstat command? (2 Replies)
Discussion started by: King Nothing
2 Replies
6. Shell Programming and Scripting
hi all,
am writing a ksh script on solaris 9 to get the number of threads taken by a process. am using the prstat -p command to do this.
output i get is :
:"/export/home/user" > prstat -p 25528 | cut -f2 -d/
NLWP
203
Total: 1 processes, 203 lwps, load averages: 2.58, 3.24, 3.62... (2 Replies)
Discussion started by: cesarNZ
2 Replies
7. Shell Programming and Scripting
hi all,
have a ksh script where i am doing a prstat -m -u osuser 1 1 >> $FILE_NAME but for some reason it only writes 15 lines wheres when i run the same command manually from command prompt it prints out 60 lines.
why is it not writing the full 60 lines to the file ??
ta. (1 Reply)
Discussion started by: cesarNZ
1 Replies
8. Shell Programming and Scripting
Hi,
I know how to figure out the list of PID from my application name :
ptree `pgrep MyApp` | awk '{print $1}'
But I dont know how to pipe it for prstat -p <pidlist>
ptree `pgrep MyApp` | awk '{print $1}' | prstat -p ???
I would like to monitor every ptree PID from my application. ... (4 Replies)
Discussion started by: RickTrader
4 Replies
9. Shell Programming and Scripting
trying to have prstat into a file on a Solaris machine.
Would like to have the prstat run from a cron every 30 min.
print 300 lines+ date.
Date is not printed, only the prstat, and ksh does not end, it stays running...
#!/bin/ksh
# ----------------------------------------------------
#... (4 Replies)
Discussion started by: pointer
4 Replies
10. Solaris
On Solaris 8, when I try to run prstat 30 5 as a background process, the command exits 1-2 seconds after it's initiated instead of the 30 seconds I specified.
It runs fine in interactive mode.
Is there a workaround to this I could use? (Upgrading the package is not an option)
A link to... (1 Reply)
Discussion started by: Devyn
1 Replies
LEARN ABOUT DEBIAN
plack::builder
Plack::Builder(3pm) User Contributed Perl Documentation Plack::Builder(3pm)
NAME
Plack::Builder - OO and DSL to enable Plack Middlewares
SYNOPSIS
# in .psgi
use Plack::Builder;
my $app = sub { ... };
builder {
enable "Deflater";
enable "Session", store => "File";
enable "Debug", panels => [ qw(DBITrace Memory Timer) ];
enable "+My::Plack::Middleware";
$app;
};
# use URLMap
builder {
mount "/foo" => builder {
enable "Foo";
$app;
};
mount "/bar" => $app2;
mount "http://example.com/" => builder { $app3 };
};
# using OO interface
my $builder = Plack::Builder->new();
$builder->add_middleware('Foo', opt => 1);
$app = $builder->mount('/app' => $app);
$app = $builder->to_app($app);
DESCRIPTION
Plack::Builder gives you a quick domain specific language (DSL) to wrap your application with Plack::Middleware subclasses. The middleware
you're trying to use should use Plack::Middleware as a base class to use this DSL, inspired by Rack::Builder.
Whenever you call "enable" on any middleware, the middleware app is pushed to the stack inside the builder, and then reversed when it
actually creates a wrapped application handler. "Plack::Middleware::" is added as a prefix by default. So:
builder {
enable "Foo";
enable "Bar", opt => "val";
$app;
};
is syntactically equal to:
$app = Plack::Middleware::Bar->wrap($app, opt => "val");
$app = Plack::Middleware::Foo->wrap($app);
In other words, you're supposed to "enable" middleware from outer to inner.
INLINE MIDDLEWARE
Plack::Builder allows you to code middleware inline using a nested code reference.
If the first argument to "enable" is a code reference, it will be passed an $app and is supposed to return another code reference which is
PSGI application that consumes $env in runtime. So:
builder {
enable sub {
my $app = shift;
sub {
my $env = shift;
# do preprocessing
my $res = $app->($env);
# do postprocessing
return $res;
};
};
$app;
};
is equal to:
my $mw = sub {
my $app = shift;
sub { my $env = shift; $app->($env) };
};
$app = $mw->($app);
URLMap support
Plack::Builder has a native support for Plack::App::URLMap with "mount" method.
use Plack::Builder;
my $app = builder {
mount "/foo" => $app1;
mount "/bar" => builder {
enable "Foo";
$app2;
};
};
See Plack::App::URLMap's "map" method to see what they mean. With builder you can't use "map" as a DSL, for the obvious reason :)
NOTE: Once you use "mount" in your builder code, you have to use "mount" for all the paths, including the root path ("/"). You can't have
the default app in the last line of "builder" like:
my $app = sub {
my $env = shift;
...
};
builder {
mount "/foo" => sub { ... };
$app; # THIS DOESN'T WORK
};
You'll get warnings saying that your mount configuration will be ignored. Instead you should use "mount "/" => ..." in the last line to set
the default fallback app.
builder {
mount "/foo" => sub { ... };
mount "/" => $app;
}
Note that the "builder" DSL returns a whole new PSGI application, which means
o "builder { ... }" should normally the last statement of a ".psgi" file, because the return value of "builder" is the application that
actually is executed.
o You can nest your "builder" block, mixed with "mount" (see URLMap support above):
builder {
mount "/foo" => builder {
mount "/bar" => $app;
}
}
will locate the $app under "/foo/bar" since the inner "builder" block puts it under "/bar" and it results a new PSGI application which
is located under "/foo" because of the outer "builder" block.
CONDITIONAL MIDDLEWARE SUPPORT
You can use "enable_if" to conditionally enable middleware based on the runtime environment. See Plack::Middleware::Conditional for
details.
SEE ALSO
Plack::Middleware Plack::App::URLMap Plack::Middleware::Conditional
perl v5.14.2 2012-05-17 Plack::Builder(3pm)