Hot answers tagged memory
How can I see the raw memory data used by an application... Once you have obtained the process' PID (using ps(1) or pidof(8) for instance), you may access the data in its virtual address space using /proc/PID/maps and /proc/PID/mem. Gilles wrote a very detailled answer about that here. ... and all the files its accessing in my filesystem, network ...
This is not a loop, but recursion and the memory increases linear over the time, which is what you don't want. If you want a loop with constant memory usage, you can do it this way: #!/bin/sh while 1; do mysql -h "localhost" -u "root" "-p********" "database" < "update.sql" sleep 5 done
Indeed you need to use /proc/; so read carefully proc(5). For process 1234 you want to read /proc/1234/maps (or /proc/1234/smaps) to get the address space, and to read /proc/1234/status & /proc/1234/statm For your own process (programmatically) use /proc/self/maps, /proc/self/status, /proc/self/statm Notice that memory usage is a very ambiguous term ...
You can get this information through the virtual /proc file-system (under Linux only). Try to run this command when the process is running (replace the <pid> by the PID of the observed process): grep 'VmSize' /proc/<pid>/status Beware, you have to have read access to the process to get these information (you cannot access it if you do not ...
Partial answer: You can see the files it accesses in real-time by using strace something.sh Specifically, it shows you every system call made by the process.
I'm not sure why you want to drop the caches every hour - that is going to kill performance. There are a few problems with what you've done: You need to edit the crontab of root, as you cannot write to /proc/sys/vm/drop_caches as a non-root user. Your crontab entry is not correct. It should be: 2 * * * * /usr/bin/free && sync && echo 3 ...
As you fill the memory with apps various block/filesystem caches are getting pushed out of the same memory. These caches are crucial for fast look up of files and other stuff. When there is no space for caches the kernel will try to look up all the information directly from the filesystem which is utterly slow and hence will cause high IO (more like a ...
I am not an upstart expert, but I think, that jobs running as root are using disk preserved space (5% of partition space are preserved for root as default).
I've found that sort seems to be the fastest uniq tool as shown here --> Fastest way to delete duplicates in large wordlist
It depends on the shell. Some do tail call optimization, others don't. You can test this easily by running SHELL -c 'ps $$'. If ps sees itself, the shell has executed the last command in the same process. If ps sees the shell, the shell runs the last command in a subprocess, as it does for commands that aren't the last one. $ for s in dash bash mksh ksh ...
Only top voted, non community-wiki answers of a minimum length are eligible