利用免费unix服务器资源运行自己计算量庞大程序的方法
昨天写了个程序,可能是我的算法不好,运行起来巨慢,cpu资源占用100%系统反应迟钝,严重影响了俺逛论坛和聊QQ,于是偶就把程序上传到局域网内的文件服务器上运行,让程序算了一个晚上。晚上回去后想看运行结果,可是实验室的服务器外网无法访问,偶就想到了利用网上免费的unix主机跑程序。
可以利用ftp将源代码上传到服务器上,然后用ssh登录上去编译运行,这种方法简单易行,只需要你打开一个ssh客户端看运行结果就可以了。缺点是与服务器的连接不能断开,否则属于ssh会话进程组的进程会全部关闭。如果程序需要运行几个小时ssh必须一直保持连接,需要网络状况良好而且自己不能关电脑也不能关闭ssh客户端,要是需要算一个晚上还不如在自己电脑上算。
我写了一个守护进程在帖子附件daemon.c中,将daemon.c上传到服务器上,编译运行,运行时将需要在服务器上运行的程序作参数传递过去,然后就可以断开与服务器的连接,守护进程老老实实的呆在服务器上继续运行,偶等程序跑完了再登录到服务器上看结果。
举个例子,先用偶的帐号VxWorks, ftp登录到t1000.上去:
[root@VxWorks demo]#sftp VxWorks@t1000.
然后将需要在服务器上长时间运行的程序narcissus.c和daemon.c一起上传到服务器上:
sftp> put narcissus.c
sftp> put daemon.c
然后再用偶的帐号VxWorks, ssh登录到t1000.上去:
[root@VxWorks demo]#ssh VxWorks@t1000.
进去后看看自己的文件:
Welcome to T1000. Please enjoy your stay.
-bash-3.00$ ls
daemon.c narcissus.c
编译这两个程序:
-bash-3.00$ gcc daemon.c -o daemon
-bash-3.00$ gcc narcissus.c -o narc
-bash-3.00$ ls
daemon daemon.c narc narcissus.c
开始运行啦:
-bash-3.00$ ./daemon ./narc
这时候会发现服务器上自己home目录新创建了一个文件daemon.log, ./narc输出到标准输出的数据保存在这里,等程序运行完了登录上去看运行结果:
-bash-3.00$ cat daemon.log
下面是可用的Unix服务器,挑一个运算速度快的,我感觉T1000就不错。
因为所有的服务器使用同一个存储服务器做存储,注册到unix-center帐号后随便登录哪一台服务器都可以访问自己的home目录。
T1000/Solaris系统:
硬件环境:1 颗UltraSPARC T1芯片,CPU 主频为1.0 GHz,八核四线程配置8 GB内存
软件环境:Solaris 10 Update 3 for SPARC
机器域名:t1000.(公网),t1000-edu.(教育网)
X4100/Solaris系统:
硬件环境:2 颗双核单线程的AMD Opteron 280芯片,CPU 主频为2.4 GHz,配置4 GB内存
软件环境:Solaris 10 Update 3 for x86/x64
机器域名:x4100.(公网),x4100-edu.(教育网)
PE860/Solaris系统:
硬件环境:1 颗双核单线程的Intel Xeon 3050芯片,CPU 主频为2.13 GHz,配置2 GB内存
软件环境:Solaris 10 Update 3 for x86/x64
机器域名:solaris.(公网),solaris-edu.(教育网)
PE860/Fedora系统:
硬件环境:1 颗双核单线程的Intel Xeon 3050芯片,CPU 主频为2.13 GHz,配置2 GB内存
软件环境:Fedora Core 6
机器域名:fedora.(公网),fedora-edu.(教育网)
PE860/Ubuntu系统:
硬件环境:1 颗双核单线程的Intel Xeon 3050芯片,CPU 主频为2.13 GHz,配置2 GB内存
软件环境:Ubuntu 6.10
机器域名:ubuntu.(公网),ubuntu-edu.(教育网)
PE860/FreeBSD系统:
硬件环境:1 颗双核单线程的Intel Xeon 3050芯片,CPU 主频为2.13 GHz,配置2 GB内存
软件环境:FreeBSD 6.2
机器域名:freebsd.(公网),freebsd-edu.(教育网)
P510/AIX系统:
硬件环境:2 颗双核单线程的Power 5芯片,CPU 主频为2.0 GHz,配置2 GB内存
软件环境:AIX 5 Release 3
机器域名:aix.(公网),aix-edu.(教育网)
龙芯福珑系统:
硬件环境: 3 台配置龙芯2E处理器的龙芯福珑计算机,CPU 主频为666 MHz,配置256 MB内存
软件环境:Debian Linux for MIPS
机器域名:仅限内网连接
PE860/MySQL系统:
硬件环境:1 颗双核单线程的Intel Xeon 3050芯片,CPU 主频为2.13 GHz,配置4 GB内存
软件环境:Solaris 10 Update 3 for x86/x64, MySQL 6
机器域名:mysql (内网)
硬件环境:1 颗UltraSPARC T1芯片,CPU 主频为1.0 GHz,八核四线程配置8 GB内存
软件环境:Solaris 10 Update 3 for SPARC
机器域名:t1000.(公网),t1000-edu.(教育网)
X4100/Solaris系统:
硬件环境:2 颗双核单线程的AMD Opteron 280芯片,CPU 主频为2.4 GHz,配置4 GB内存
软件环境:Solaris 10 Update 3 for x86/x64
机器域名:x4100.(公网),x4100-edu.(教育网)
PE860/Solaris系统:
硬件环境:1 颗双核单线程的Intel Xeon 3050芯片,CPU 主频为2.13 GHz,配置2 GB内存
软件环境:Solaris 10 Update 3 for x86/x64
机器域名:solaris.(公网),solaris-edu.(教育网)
PE860/Fedora系统:
硬件环境:1 颗双核单线程的Intel Xeon 3050芯片,CPU 主频为2.13 GHz,配置2 GB内存
软件环境:Fedora Core 6
机器域名:fedora.(公网),fedora-edu.(教育网)
PE860/Ubuntu系统:
硬件环境:1 颗双核单线程的Intel Xeon 3050芯片,CPU 主频为2.13 GHz,配置2 GB内存
软件环境:Ubuntu 6.10
机器域名:ubuntu.(公网),ubuntu-edu.(教育网)
PE860/FreeBSD系统:
硬件环境:1 颗双核单线程的Intel Xeon 3050芯片,CPU 主频为2.13 GHz,配置2 GB内存
软件环境:FreeBSD 6.2
机器域名:freebsd.(公网),freebsd-edu.(教育网)
P510/AIX系统:
硬件环境:2 颗双核单线程的Power 5芯片,CPU 主频为2.0 GHz,配置2 GB内存
软件环境:AIX 5 Release 3
机器域名:aix.(公网),aix-edu.(教育网)
龙芯福珑系统:
硬件环境: 3 台配置龙芯2E处理器的龙芯福珑计算机,CPU 主频为666 MHz,配置256 MB内存
软件环境:Debian Linux for MIPS
机器域名:仅限内网连接
PE860/MySQL系统:
硬件环境:1 颗双核单线程的Intel Xeon 3050芯片,CPU 主频为2.13 GHz,配置4 GB内存
软件环境:Solaris 10 Update 3 for x86/x64, MySQL 6
机器域名:mysql (内网)
更多关于服务器的问题去的常见问题中找答案。
daemon.zip
(1018 Bytes)
[[it] 本帖最后由 VxWorks 于 2008-9-8 00:43 编辑 [/it]]