Proxmox 2.2/2.1 16 GB RAM on Intel MTRR problem

yegor

New Member
Nov 5, 2012
4
0
1
Hello, people.

I had A proxmox 2.2. upgraded a RAM from 4 (2*2GB) to 16 (2*8GB)
after that I had a "*bad*gran_size:" in the kernel.log

and when i want to start VM (Windows) on the step of graphic booting Proxmox is gonig to reboot

I fixed grub, adding a string "enable_mtrr_cleanup mtrr_spare_reg_nr=1 mtrr_gran_size=32M mtrr_chunk_size=128M"
after that i had these strings in log file :
[kernel] mtrr: no more MTRRs available
[kernel] [drm] MTRR allocation failed. Graphics performance may suffer.

after that i tried to instal mtrr-uncover, but it shows error...

videocard is onboard...

my video card memory is in base=0x0d0000000 of MTRR and has a size=0x40000000 (256 M)

when I plug in 2*8GB /proc/mtrr shows

reg00: base=0x000000000 ( 0MB), size=16384MB, count=1: write-back
reg01: base=0x400000000 (16384MB), size= 1024MB, count=1: write-back
reg02: base=0x0cc000000 ( 3264MB), size= 64MB, count=1: uncachable
reg03: base=0x0d0000000 ( 3328MB), size= 256MB, count=1: uncachable
reg04: base=0x0e0000000 ( 3584MB), size= 512MB, count=1: uncachable
reg05: base=0x3fc000000 (16320MB), size= 64MB, count=1: uncachable
reg06: base=0x42c000000 (17088MB), size= 64MB, count=1: uncachable
reg07: base=0x430000000 (17152MB), size= 256MB, count=1: uncachable


when return to 2*2GB

reg00: base=0x000000000 ( 0MB), size= 2048MB, count=1: write-back
reg01: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back
reg02: base=0x0c0000000 ( 3072MB), size= 128MB, count=1: write-back
reg03: base=0x0c8000000 ( 3200MB), size= 64MB, count=1: write-back
reg04: base=0x100000000 ( 4096MB), size= 512MB, count=1: write-back
reg05: base=0x120000000 ( 4608MB), size= 128MB, count=1: write-back
reg06: base=0x0d0000000 ( 3328MB), size= 256MB, count=1: write-combining


i tried to clean up whole file /proc/mtrrmc and remapp memory regarding on 16 GB RAM minus 256 M AGP like this
#!/bin/sh
# Fix wrong MTRR setting
echo "disable=0" >| /proc/mtrr
echo "disable=1" >| /proc/mtrr
echo "disable=2" >| /proc/mtrr
echo "disable=3" >| /proc/mtrr
echo "disable=4" >| /proc/mtrr
echo "disable=5" >| /proc/mtrr
echo "disable=6" >| /proc/mtrr
echo "disable=7" >| /proc/mtrr
echo "base=0x0 size=0x380000000 type=write-back" >| /proc/mtrr # starting from 0 use all 16GB minus 256M it is 16128M RAM
echo 'base=0xd0000000 size=0x10000000 type=write-combining' >| /proc/mtrr # starting from 0xd use 256M video



and second variant

echo "base=0x0 size=0x400000000 type=write-back" >| /proc/mtrr # starting from 0 use all 16GB RAM
echo 'base=0xd0000000 size=0x10000000 type=write-combining' >| /proc/mtrr # starting from 0xd use 256M video



PLEASE help. it is very important for my job
 
Last edited:
cat /proc/mtrr
reg00: base=0x000000000 ( 0MB), size=16384MB, count=1: write-back
reg01: base=0x400000000 (16384MB), size= 1024MB, count=1: write-back
reg02: base=0x0cc000000 ( 3264MB), size= 64MB, count=1: uncachable
reg03: base=0x0d0000000 ( 3328MB), size= 256MB, count=1: uncachable
reg04: base=0x0e0000000 ( 3584MB), size= 512MB, count=1: uncachable
reg05: base=0x3fc000000 (16320MB), size= 64MB, count=1: uncachable
reg06: base=0x42c000000 (17088MB), size= 64MB, count=1: uncachable
reg07: base=0x430000000 (17152MB), size= 256MB, count=1: uncachable


there is no Write Combining memory, usful for video(((
 
my video card memory is in base=0x0d0000000 of MTRR and has a size=0x40000000 (256 M)

when I plug in 2*8GB /proc/mtrr shows

reg00: base=0x000000000 ( 0MB), size=16384MB, count=1: write-backreg01: base=0x400000000 (16384MB), size= 1024MB, count=1: write-backreg02: base=0x0cc000000 ( 3264MB), size= 64MB, count=1: uncachablereg03: base=0x0d0000000 ( 3328MB), size= 256MB, count=1: uncachablereg04: base=0x0e0000000 ( 3584MB), size= 512MB, count=1: uncachablereg05: base=0x3fc000000 (16320MB), size= 64MB, count=1: uncachablereg06: base=0x42c000000 (17088MB), size= 64MB, count=1: uncachablereg07: base=0x430000000 (17152MB), size= 256MB, count=1: uncachable


when return to 2*2GB

reg00: base=0x000000000 ( 0MB), size= 2048MB, count=1: write-back
reg01: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back
reg02: base=0x0c0000000 ( 3072MB), size= 128MB, count=1: write-back
reg03: base=0x0c8000000 ( 3200MB), size= 64MB, count=1: write-back
reg04: base=0x100000000 ( 4096MB), size= 512MB, count=1: write-back
reg05: base=0x120000000 ( 4608MB), size= 128MB, count=1: write-back
reg06: base=0x0d0000000 ( 3328MB), size= 256MB, count=1: write-combining




i tried to clean up whole file /proc/mtrrmc and remapp memory regarding on 16 GB RAM minus 256 M AGP like this
#!/bin/sh
# Fix wrong MTRR setting
echo "disable=0" >| /proc/mtrr
echo "disable=1" >| /proc/mtrr
echo "disable=2" >| /proc/mtrr
echo "disable=3" >| /proc/mtrr
echo "disable=4" >| /proc/mtrr
echo "disable=5" >| /proc/mtrr
echo "disable=6" >| /proc/mtrr
echo "disable=7" >| /proc/mtrr
echo "base=0x0 size=0x380000000 type=write-back" >| /proc/mtrr # starting from 0 use all 16GB minus 256M it is 16128M RAM
echo 'base=0xd0000000 size=0x10000000 type=write-combining' >| /proc/mtrr # starting from 0xd use 256M video



and second variant

echo "base=0x0 size=0x400000000 type=write-back" >| /proc/mtrr # starting from 0 use all 16GB RAM
echo 'base=0xd0000000 size=0x10000000 type=write-combining' >| /proc/mtrr # starting from 0xd use 256M video



PLEASE help. it is very important for my job
 
my video card memory is in base=0x0d0000000 of MTRR and has a size=0x40000000 (256 M)

when I plug in 2*8GB /proc/mtrr shows

reg00: base=0x000000000 ( 0MB), size=16384MB, count=1: write-back
reg01: base=0x400000000 (16384MB), size= 1024MB, count=1: write-back
reg02: base=0x0cc000000 ( 3264MB), size= 64MB, count=1: uncachable
reg03: base=0x0d0000000 ( 3328MB), size= 256MB, count=1: uncachable
reg04: base=0x0e0000000 ( 3584MB), size= 512MB, count=1: uncachable
reg05: base=0x3fc000000 (16320MB), size= 64MB, count=1: uncachable
reg06: base=0x42c000000 (17088MB), size= 64MB, count=1: uncachable
reg07: base=0x430000000 (17152MB), size= 256MB, count=1: uncachable


when return to 2*2GB

reg00: base=0x000000000 ( 0MB), size= 2048MB, count=1: write-back
reg01: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back
reg02: base=0x0c0000000 ( 3072MB), size= 128MB, count=1: write-back
reg03: base=0x0c8000000 ( 3200MB), size= 64MB, count=1: write-back
reg04: base=0x100000000 ( 4096MB), size= 512MB, count=1: write-back
reg05: base=0x120000000 ( 4608MB), size= 128MB, count=1: write-back
reg06: base=0x0d0000000 ( 3328MB), size= 256MB, count=1: write-combining


i tried to clean up whole file /proc/mtrrmc and remapp memory regarding on 16 GB RAM minus 256 M AGP like this
#!/bin/sh
# Fix wrong MTRR setting
echo "disable=0" >| /proc/mtrr
echo "disable=1" >| /proc/mtrr
echo "disable=2" >| /proc/mtrr
echo "disable=3" >| /proc/mtrr
echo "disable=4" >| /proc/mtrr
echo "disable=5" >| /proc/mtrr
echo "disable=6" >| /proc/mtrr
echo "disable=7" >| /proc/mtrr
echo "base=0x0 size=0x380000000 type=write-back" >| /proc/mtrr # starting from 0 use all 16GB minus 256M it is 16128M RAM
echo 'base=0xd0000000 size=0x10000000 type=write-combining' >| /proc/mtrr # starting from 0xd use 256M video



and second variant

echo "base=0x0 size=0x400000000 type=write-back" >| /proc/mtrr # starting from 0 use all 16GB RAM
echo 'base=0xd0000000 size=0x10000000 type=write-combining' >| /proc/mtrr # starting from 0xd use 256M video



PLEASE help. it is very important for my job
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!