Linux: User limit of inotify watches reached.

I get inotify watches limit reached when I debug with my application in Play framework 2.5:
java.io.IOException: User limit of inotify watches reached
at sun.nio.fs.LinuxWatchService$Poller.implRegister(LinuxWatchService.java:264)
at sun.nio.fs.AbstractPoller.processRequests(AbstractPoller.java:260)
at sun.nio.fs.LinuxWatchService$Poller.run(LinuxWatchService.java:329)
at java.lang.Thread.run(Thread.java:745)
[trace] Stack trace suppressed: run last compile:run for the full output.
[error] (compile:run) java.io.IOException: User limit of inotify watches reached
[error] Total time: 4 s, completed 2016-3-29 14:32:25

Step1. cat /proc/sys/fs/inotify/max_user_watches
Step2.
sudo sysctl fs.inotify.max_user_watches=524288
Step3.
vi /etc/sysctl.conf add line below
fs.inotify.max_user_watches=524288

1. Kernel inotify watch limit reached
http://unix.stackexchange.com/questions/13751/kernel-inotify-watch-limit-reached
2. Activator Active Stocks starter application fails to run with java.io.IOException?http://stackoverflow.com/questions/27204152/activator-active-stocks-starter-application-fails-to-run-with-java-io-ioexceptio
3.

Linux命令行proxy设置方式

最近访问amazonws有点问题,需要在命令行下解决proxy的设置问题。
http_proxy=http://:/
ftp_proxy=ftp://:/
all_proxy=socks://:/
ALL_PROXY=socks://:/
socks_proxy=socks://:/
https_proxy=https://:/
no_proxy=localhost,127.0.0.0/8,::1

如果你要在jvm里指定的话,可以指定命令行:
-Dhttp.proxyHost=proxyname
-Dhttp.proxyPort=80
-Dhttps.proxyHost=proxyname
-Dhttps.proxyPort=80

来源:
1. can not ping google using proxy
3. TypeSafe Activator 1.3.2 – Corporate proxy
4.

update-alternatives bug?

这两天学习SCRUM之后,感觉还真是不错,有的时候自己看书啊,自己想策略啊什么的是不如这个方式快。
好久没碰代码,今天心血来潮,试试Play 2.0,自从用了Play 1.x,2.0出来很久了都没有碰过。2.0改成了Scala是比较感兴趣的。

但是create hello后run的时候发生了一个很奇怪的错误。
参见:java.lang.ExceptionInInitializerError when trying to run Play Application

第一感觉是path不对?不能啊,以前没改过java的设置。
想起以前用过update-alternatives配置过java,因为另一个用java的SweetHome3D在Linux 64bit上经常闪退,切换过OpenJDK和Oracle JDK,还有1.6/1.7的切换。

验证之下
java 1.7
javac 1.6

用update-alternatives切换成7,javac还是1.6
ls /usr/bin/javac发现它是链接在/etc/alternatives/javac上的,手工改成7的就好了。

当然,问题继续存在,参考了stackover的答案。
见:JNotify Linux support</>
到Linux的root用户下修改

echo 32000 > /proc/sys/fs/inotify/max_user_watches

一切OK。

Ubuntu 14.04 chrome中flash插件

升级到Ubuntu 14.04之后一直使用比较舒服。直到有一天看个网易新闻也弹出flash插件不好用。按照官方提示是使用
sudo update-pepperflashplugin-nonfree –install
一开始用这个指令安装一下确实是好用的,但是有时候重新启动一下电脑就出问题啦。照样弹窗,视频就不能看了。

参考:
Chromium 34 can’t detect flash plugin

sudo apt-add-repository ppa:skunk/pepper-flash
sudo apt-get update
sudo apt-get install pepflashplugin-installer

然后在/etc/chromium-browser/default文件尾加入:
. /usr/lib/pepflashplugin-installer/pepflashplayer.sh

其实看网易提示这个倒是无所谓,看评论没有什么问题,一样HIGH。到是好是弹出消息让有强迫症的很难受。解决了就舒服了。

p.s.

今天参加大连的智慧城市论坛看到好多熟人啊:王老师,李老师,晓光,小曹。世界很小,每个人都不是孤岛。

Ubuntu 14.04 update的一点小问题

Ubuntu已经足够好了。从原来每个版升级都不能完成,到现在已经连升了3个版本都没出现过什么大问题。无论是家里还是单位的电脑都已经是主要的操作系统了。

有时使用虚拟机里的WIN7也是不得已:
1. QQ现在真的很常用,是工作中需要用到的。而Ubuntu版本的QQ已经被扼杀。
2. 有些测试还是需要在它里面做测试,可以普及Chrome,但不能普及Ubuntu。
3. 网上银行(还是喜欢招行的服务,但是丫的网站。。。)

前几天家里的电脑更新的时候老是出现:
“dpkg: error processing archive /var/cache/apt/archives/libpostproc52_6%3a0.git20120821-4_amd64.deb (–unpack):”

今天就解决它。
Google第一条:
Broken Package Manager(apt-get)

Bug #1286836 “package libpostproc52…”中提示了解决方案:

Workaround :
sudo dpkg –purge libpostproc52:i386

Then reinstall libpostproc52.

or in other words
sudo apt-get purge libpostproc52:i386
sudo apt-get install libpostproc52

worked for me too

——
OK. Done.