ufrisk / MemProcFS

MemProcFS
GNU Affero General Public License v3.0
3.16k stars 383 forks source link

VM-supported versions #324

Closed xiaobaixuejava closed 1 month ago

xiaobaixuejava commented 1 month ago

I don't know which versions of VM virtual machine are supported, and I was able to use version 15.5, but when I downgraded to version 12, it displayed an initialization failure.

ufrisk commented 1 month ago

I haven't tested this on older versions. If you find out which version that will work currently please let me know and I'll update the documentation.

I'll update the documentation to mention 15.5.

xiaobaixuejava commented 1 month ago

byte_value = memory.read(addr5, 10)

name = byte_value.decode('utf-16').rstrip('\x00')

print( memory.read_type(addr5,"u16"))

May I ask, the above two pieces of code, the first can read out the memory saved name, but the second read out can not be returned is a number, which is why

ufrisk commented 1 month ago

The memory.read_type(addr5, "u16") reads a 16-bit unsigned integer, not a utf-16 string.

Anyway for programming discussions it's probably better to take it over at Discord since the Github issues section is more for reporting bugs and coming up with feature requests.

xiaobaixuejava commented 1 month ago

I apologize for not using Discord; for some reason, I am unable to access it. Currently, I am facing an issue where I utilize Python to monitor the performance of virtual machines (VMs). While this works effectively in a single process, initiating four processes to read data from four VMs results in significant latency. Therefore, I would like to inquire if there are any strategies available to mitigate this latency. Additionally, what factors influence the access rate? Is it related to memory frequency

ufrisk commented 1 month ago

I assume you're using VMWare VMs? I haven't tested it like that. But if it's slowing down when reading from multiple VMs in multiple processes I doubt there is much I can do about it.

Ensure you have sufficient memory and CPU resources on your host.

Other than that I don't know. It may be an issue with VMWare itself. MemProcFS doesn't have any shared data structures between processes so that should not be the reason.

It's possible to attach to Hyper-V VMs on Windows as well, and also on Linux you can access QEMU VMs.