I haven't finished the mem part but it's not too complex; you should be able to implement the remaining part of the awk script and sort and pick the output lines you want by searching the forums a bit. The mawk manual page has an example of how to implement a simple sort in awk.
My top prints "Mem: total used free buffers" followed by "Swap: total used free cached" on lines 4 and 5; I'm not entirely sure which of the "free" and "total" fields you want, but extracting the fields you want (provided you are sure which ones you want) should be similarly straightforward. I've put in placeholders for those. A complication is that the output has a human-readable suffix like "k" which I imagine might vary, so properly you should parse that before doing the math on the resulting numbers.
yeah, this thing is growing faster than my speed to read awk info :P
i will look at that and run some tests
the problem, is that all this work only o get a simple percentage of free mem, is growing in complexity and footprint
to a point where i dont know if its worth the problem
maybe i can make use of an external program to give me that info.
maybe doit myself in C? .... (actually, stole the related code of wmmem )
Hi All,
I have a pair of sun ultra 5_10 with SunOS 5.5.1.
Both are almost equally patched and set up with simillar applications.
host# uname -a
SunOS host 5.5.1 Generic_103640-24 sun4u sparc SUNW,Ultra-5_10
Even though both have
same amount of RAM ( 512 Mb ) ,
... (1 Reply)
Hi All,
Kindly help me in optimizing the server as it displays a great amount of CPU & MEM being utilised when the mysql process executes.
Below are the stats ---
--------------------------------------------------------------------------
# top
15:51:57 up 23:22, 5 users, load average:... (1 Reply)
What is amount of free RAM i have now?
total used free shared buffers cached
Mem: 1010 963 46 0 215 256
-/+ buffers/cache: 491 518
Swap: 1983 0 1983
Above is the output of... (1 Reply)
how can I find cpu usage memory usage swap usage and
I want to know CPU usage above X% and contiue Y times and memory usage above X % and contiue Y times
my final destination is monitor process
logical volume usage above X % and number of Logical voluage above
can I not to... (3 Replies)
I'm writing a bash script to log some selections from a sensors output (core temp, mb temp, etc.) and I would also like to have the current cpu usage as a percentage. I have no idea how to go about getting it in a form that a bash script can use. For example, I would simply look in the output of... (3 Replies)
Hi all,
Is it possible to get total memory usage and free memory usage without top? By Googling I found for total memory usage, use vmstat, for CPU, use mpstat, for disk I/O use iostat, is this correct? Will using sar gives the same result as ALL of these three (3) commands?
What about if I... (2 Replies)
Hi folks,
I'm a CS students enrolled in a sysadmin class where we've been covering bash scripting for the past few weeks. I have prior knowledge in java, c++, c#, python,and some scripting languages like asp.net w/c# and php. This bash stuff seems pretty neat and a bit different than what I am... (9 Replies)
I do not know shell scripting. But at work place, I have got an in and out shell scripting task. I just need to understand a very big script. Is there any tool in which I can place the script and it can tell me the meaning of the whole script? (3 Replies)
Discussion started by: lg123
3 Replies
LEARN ABOUT CENTOS
_syscall
_SYSCALL(2) Linux Programmer's Manual _SYSCALL(2)NAME
_syscall - invoking a system call without library support (OBSOLETE)
SYNOPSIS
#include <linux/unistd.h>
A _syscall macro
desired system call
DESCRIPTION
The important thing to know about a system call is its prototype. You need to know how many arguments, their types, and the function
return type. There are seven macros that make the actual call into the system easier. They have the form:
_syscallX(type,name,type1,arg1,type2,arg2,...)
where
X is 0-6, which are the number of arguments taken by the system call
type is the return type of the system call
name is the name of the system call
typeN is the Nth argument's type
argN is the name of the Nth argument
These macros create a function called name with the arguments you specify. Once you include the _syscall() in your source file, you call
the system call by name.
FILES
/usr/include/linux/unistd.h
CONFORMING TO
The use of these macros is Linux-specific, and deprecated.
NOTES
Starting around kernel 2.6.18, the _syscall macros were removed from header files supplied to user space. Use syscall(2) instead. (Some
architectures, notably ia64, never provided the _syscall macros; on those architectures, syscall(2) was always required.)
The _syscall() macros do not produce a prototype. You may have to create one, especially for C++ users.
System calls are not required to return only positive or negative error codes. You need to read the source to be sure how it will return
errors. Usually, it is the negative of a standard error code, for example, -EPERM. The _syscall() macros will return the result r of the
system call when r is nonnegative, but will return -1 and set the variable errno to -r when r is negative. For the error codes, see
errno(3).
When defining a system call, the argument types must be passed by-value or by-pointer (for aggregates like structs).
EXAMPLE
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <linux/unistd.h> /* for _syscallX macros/related stuff */
#include <linux/kernel.h> /* for struct sysinfo */
_syscall1(int, sysinfo, struct sysinfo *, info);
/* Note: if you copy directly from the nroff source, remember to
REMOVE the extra backslashes in the printf statement. */
int
main(void)
{
struct sysinfo s_info;
int error;
error = sysinfo(&s_info);
printf("code error = %d
", error);
printf("Uptime = %lds
Load: 1 min %lu / 5 min %lu / 15 min %lu
"
"RAM: total %lu / free %lu / shared %lu
"
"Memory in buffers = %lu
Swap: total %lu / free %lu
"
"Number of processes = %d
",
s_info.uptime, s_info.loads[0],
s_info.loads[1], s_info.loads[2],
s_info.totalram, s_info.freeram,
s_info.sharedram, s_info.bufferram,
s_info.totalswap, s_info.freeswap,
s_info.procs);
exit(EXIT_SUCCESS);
}
Sample output
code error = 0
uptime = 502034s
Load: 1 min 13376 / 5 min 5504 / 15 min 1152
RAM: total 15343616 / free 827392 / shared 8237056
Memory in buffers = 5066752
Swap: total 27881472 / free 24698880
Number of processes = 40
SEE ALSO intro(2), syscall(2), errno(3)COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2007-12-19 _SYSCALL(2)