Thursday, May 18, 2017

Resource temporarily unavailable

If you see a message like following while working on centos system, that means the particular user you are using has exceeded the open process limit.


bash: fork: retry: Resource temporarily unavailable
bash: fork: retry: Resource temporarily unavailable
bash: fork: retry: Resource temporarily unavailable
bash: fork: retry: Resource temporarily unavailable


So you need to increase it. Here is the way...

Login as root. Go to "limits.conf" file.

> vi /etc/security/limits.conf

Set a higher number of "nproc" value.
Add these two lines.
user          soft    nproc     65550
user          hard    nproc     65555

user - replace with your username

source : https://access.redhat.com/solutions/30316

Tuesday, May 16, 2017

Get "pretty" result always without typing .pretty() on mongo.

When executing mongo commands we put .pretty() at the end to get a readable out put.

Ex:
db.myTable.find({"id":"123"}).pretty()
However there is a way to avoid this command. Just enter the following line into "$HOME/.mongorc.js"
DBQuery.prototype._prettyShell = true
That will enable pretty print globally by default.

Thursday, April 6, 2017

Check Java application Memory consumption using jconsole

First add these JAVA OPTS to the application.

JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname="
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.useLocalHostname"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9010"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.local.only=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"

Or to the wrapper.xml

wrapper.java.additional.14=-Djava.rmi.server.hostname=
wrapper.java.additional.15=-Djava.rmi.server.useLocalHostname
wrapper.java.additional.16=-Dcom.sun.management.jmxremote
wrapper.java.additional.17=-Dcom.sun.management.jmxremote.port=9010
wrapper.java.additional.18=-Dcom.sun.management.jmxremote.local.only=false
wrapper.java.additional.19=-Dcom.sun.management.jmxremote.authenticate=false
wrapper.java.additional.20=-Dcom.sun.management.jmxremote.ssl=false


Then start the java application.

Start jconsole. The java path should have setted.

> jconsole

Go to "Connection --> New connection".
Select "Remote" tab and give the IP and port, Click connect.
Go to "Memory" tab.



Thursday, December 29, 2016

Copy folder in linux without changing the existing permission.

 Sometimes we need to copy some folders without changing its permissions. But when we copy a folder to a new location, the new copy will have the copying person's permission. (Ex: If the copying person is 'root' then the new folder will have the permission only for root.
 One can copy the folder and then change the permission back to the original user. But this will difficult it the folder contains different permissions for different files or folders.
 So the solution for this is use "-pdR" options while copying.

> cp -pdR <file folder_name> <new_location>

Wednesday, December 7, 2016

Give root privileges for user on centos

By adding the user into 'wheel' group can give the root permission. Use the following command to add the user into wheel group. For this you should be login as root. Replace "username" with your one.

usermod -aG wheel username

Now switch to new user account from root.

> su - username

Check whether it works using a command which needs root privileges.

> sudo ls -ls /root

For the first time it will ask the user accounts password.

[sudo] password for username:

If the password is correct the command should execute with root privileges.

BUT if you receive a message like this.

username is not in the sudoers file. This incident will be reported.

That means the "wheel" group doesn't activated. To activate the group login as a root and check 'sudoers' file.

> visudo

That will open the 'sudoers' file. Go to the bottom and uncomment this line.

# %wheel        ALL=(ALL)       ALL

Now you can use root privileges.... ;)