0

I have a few Linux virtual machines running on this computer, and if I look at

cat /proc/cpuinfo

It is able to tell me the model name for the host system.

Will this affect the performance of the "Virtual Machine" if I scratch this information or put a bogus model number and name for the host CPU?

  • Could you explain what do you mean by "scratch this information or put a bogus model number and name for the host CPU"? – 炸鱼薯条德里克 Apr 26 at 5:19
  • Well just for curiosity's sake, it just seems to be a text file, and is human readable when I look at it using the command nano, so I find it hard to understand why it would be necessary – Adam Apr 26 at 6:37
  • for example if I change it with a different model number or something like this, I mean surely that information is going to stored else where in my virtual machine – Adam Apr 26 at 6:39
  • 1
    Files under /proc are not normal files that you can simply edit, but are information from the kernel. Some of these can be written to change settings, but most can't. I suspect (can't test at the moment) that /proc/cpuinfo can't be written. Of course you can try to find out what happens if you somehow manipulate the system to this effect, you will then see what breaks and what continues to work :-) – Hans-Martin Mosner Apr 26 at 6:56
  • 1
    Depending on how you "emulate" a virtual machine, you may end up with an "emulated" CPU that's exactly the same as the host CPU (because it uses hardware support on the host CPU to do the "emulation"), or you can use something like QEMU which emulates the CPU in software, and so can emulate different CPUs from the host system (this includes e.g. an ARM CPU on a x64 system, or vice versa). Other information in /proc/ like the model name of the computer may come from the ("emulated") BIOS, so you do have in principle the option to overwrite it, though doing it may require work. – dirkt Apr 26 at 9:30
2

You shouldn't override the proc files specially with bogus values because proc filesystem is used by all internal system calls, if you do so some commands may misbehave.

1

In VirtualBox you can:

  • list the host CPUID with VBoxManage list hostcpuids
  • modify the guest CPU with

    VBoxManage modifyvm <uuid|vmname> --cpuid-portability-level <0..3>
    VBoxManage modifyvm <uuid|vmname> --cpuid-set <leaf[:subleaf]> <eax> <ebx> <ecx> <edx>
    VBoxManage modifyvm <uuid|vmname> --cpuid-remove <leaf[:subleaf]>
    VBoxManage modifyvm <uuid|vmname> --cpuidremoveall
    

Depending on what you change this might work on your guest or can lead to strange results like non-working powermanagement, wrong CPU clock, wrong number or cores etc.

In the worst case your machine might not boot at all.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.