xml地图|网站地图|网站标签 [设为首页] [加入收藏]
当前位置: www8029com > 澳门新葡8522最新网站 > 正文

Linux预览版的3

时间:2019-10-07 20:04来源:澳门新葡8522最新网站

微软发布了SQLServer for Linux,但是安装竟然需要3.5GB内存,这让大部分云主机用户都没办法尝试这个新东西
这篇我将讲解如何破解这个内存限制
要看关键的可以直接跳到第6步,只需要替换4个字节就可以破解这个限制

  1. 首先按照微软的给出的步骤安装和配置

  2. 到执行/opt/mssql/bin/sqlservr-setup时可以看到这个错误

sqlservr: This program requires a machine with at least 3250 megabytes of memory.
  1. 按错误文本查找消息在哪个文件里面
[root@localhost ~]# cd /opt/mssql/bin/
[root@localhost bin]# grep -irn "3250"
[root@localhost bin]# grep -irn "megabytes of memory"
Binary file sqlpackage matches
Binary file sqlpackage matches
Binary file sqlservr matches
[root@localhost bin]# strings sqlservr | grep "megabytes of memory"
%s: This program requires a machine with at least %zu megabytes of memory.
[root@localhost bin]# strings sqlpackage | grep "megabytes of memory"
%s: This program requires a machine with at least %zu megabytes of memory.

看来sqlservr和sqlpackage会检测这个限制,并且这个限制是一个常量

  1. 查找错误消息的位置
[root@localhost bin]# hexdump -C sqlservr | less

找到这里

0006baf0  72 69 6e 67 29 00 25 73  3a 20 54 68 69 73 20 70  |ring).%s: This p|
0006bb00  72 6f 67 72 61 6d 20 72  65 71 75 69 72 65 73 20  |rogram requires |

可以看到消息在0006baf6的位置

  1. 查找调用错误消息的位置
[root@localhost bin]# objdump -C -S sqlservr | less

找到这里

   23940:       48 8d 35 af 81 04 00    lea    0x481af(%rip),%rsi        # 6baf6
   23947:       31 c0                   xor    
	

编辑:澳门新葡8522最新网站 本文来源:Linux预览版的3

关键词: www8029com