为Ubuntu Linux创建Swap分区

前不久在Amazon购买了一台EC2服务器运行WordPress,配置为双核CPU,内存1G。运行了一段时间后,发现mysql经常崩溃。检查mysql的error.log发现,崩溃前最后一条日志是:

160328 16:50:26 InnoDB: Completed initialization of buffer pool
160328 16:50:26 InnoDB: Fatal error: cannot allocate memory for the buffer pool
160328 16:50:26 [ERROR] Plugin 'InnoDB' init function returned error.
160328 16:50:26 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
160328 16:50:26 [ERROR] Unknown/unsupported storage engine: InnoDB
160328 16:50:26 [ERROR] Aborting

因为网站访问量比较大,推测可能是系统内存不足导致的。使用下面的命令查看了一下,发现apache已经使用了60%多的内存(总内存为1G)。

$ ps -ylC apache2 | awk '{x += $8;y += 1} END {print "Total (MB): "x/1024; print "Average (MB): "x/((y-1)*1024)}'

Total (MB): 622.996
Average (MB): 14.8332

apache、mysql都是吃内存的大户,1G屋里内存显然不够用了。使用swapon查看交换文件状态:

$ sudo swapon -s

Filename                Type        Size    Used    Priority

OMG,竟然没有。。。那就创建一个。

先创建一个4G的文件:

$ sudo dd if=/dev/zero of=/swapfile bs=1M count=4000
4000+0 records in
4000+0 records out
4194304000 bytes (4.2 GB) copied, 5.12 s, 1203 MB/s

然后把它转变为swap文件: 继续阅读为Ubuntu Linux创建Swap分区

阅读:144

Linux常用命令整理(不定期更新)

#查看系统版本
uname -a
cat /etc/issue

#修改系统时区
#先使用tzselect按提示一步步找到对应的时区,比如Asia/Shanghai,然后:
echo "Asia/Shanghai" | sudo tee /etc/timezone
sudo dpkg-reconfigure --frontend noninteractive tzdata

#查看进程侦听的端口
lsof -iTCP -sTCP:LISTEN -n -P

#查看目录大小(h:自动使用最佳可读单位,c:最后显示总大小)
du -hc /path
du -k /path | sort -nr

#查看磁盘使用情况
df -h

#创建空文件
touch filename

继续阅读Linux常用命令整理(不定期更新)

阅读:247

UnityException: Launching iOS project via Xcode failed. Check editor log for details.

每次Xcode升级后,使用Unity的Build & Run发布iOS项目时经常会出现无法自动打开Xcode并编译的问题。Unity的Console错误提示为:UnityException: Launching iOS project via Xcode failed. Check editor log for details.

研究发现,是因为Xcode升级后某个UUID发生了变化,导致Unity的Xcode插件无法正常工作。可使用以下方法修复:

继续阅读UnityException: Launching iOS project via Xcode failed. Check editor log for details.

阅读:494

在搬瓦工(Bandwagonhost)的VPS上搭建Ubuntu VPN Server

关于如何在Ubuntu Server上搭建VPN服务器的文章Google中随便一搜就有很多,但实际配置过程中有几个关键点很容易出错。下文将对这些关键步骤做出重点的说明。本文使用的是Ubuntu Server 14.04.4 LTS 64位版本。(http://blog.droidking.com/)

1、安装pptpd

sudo apt-get update
sudo apt-get install pptpd

2、修改/etc/pptpd.conf

sudo vi /etc/pptpd.conf

在文件结尾添加下面两行,然后保存。

localip 10.10.0.1
remoteip 10.10.0.2-255

注意:localip、remoteip都应该使用Internet的保留IP,比如10.64.0.0-10.127.255.255,172.16.0.0-172.31.255.255,192.168.0.0-192.168.255.255。尤其是localip,切勿填写为服务器的真实外网ip。

3、修改/etc/ppp/pptpd-options

继续阅读在搬瓦工(Bandwagonhost)的VPS上搭建Ubuntu VPN Server

阅读:1004

在Mac OS X上使用海马模拟器调试Unity Android游戏程序

在游戏开发过程中经常需要使用USB连接安卓真机进行调试,每次打包后都要花很长时间等待传输数据和安装。其实如果安装了海马模拟器的话,直接在电脑上就可以实现和真机一样的调试效果了。

启动了海马模拟器后,在Unity中直接使用Build & Run,或者导出Android Project然后使用Eclipse编译、运行,都会提示没有找到设备。怎么解决这个问题呢?很简单,只要打开终端,然后输入:

$ adb connect 192.168.56.101
$ adb shell

继续阅读在Mac OS X上使用海马模拟器调试Unity Android游戏程序

阅读:141

Unity的C#编译器的一个BUG:Object Initializer错误

假设有如下代码:

using System;
 
class A
{
 public int i = 1;
 public int j = 2;
}
public class Program
{ 
 public static void Main()
 {
 A a = new A {i = 0, j = 0};
 Console.WriteLine("a.i = {0}, a.j = {1}", a.i, a.j);
 }
}


继续阅读Unity的C#编译器的一个BUG:Object Initializer错误

阅读:19

移植www.opengl-tutorial.org的教程到Mac OS X

最近学习OpenGL编程时发现了一个不错的教程网站:http://www.opengl-tutorial.org/zh-hans/beginners-tutorials-zh/。这里的教程提供了多种语言的版本,包括中文版。可惜写作这些教程时,Mac OS还不支持OpenGL 3.3,所以作者只提供了2.1移植版的课程代码。

因为自己平时主要使用Mac,虽然有Windows和Linux的虚拟机,但毕竟没有本机方便,于是考虑能否将这些代码移植到Mac上。经过一番研究后,按照如下步骤移植成功,暂时未发现异常。

继续阅读移植www.opengl-tutorial.org的教程到Mac OS X

阅读:46