How to tell to qemu to copy the ram into a file - qemu

I am making an OS and I am debugging it using the Qemu. I want a way to read some big blocks of the ram at the end of some instructions. How to do that? Can say to Qemu to copy the ram into a file? If not what I can do?

qmp or hmp command dump-guest-memory.

Related

How to process data larger than GPU Memory using BlazingSQL

I am trying to run a sql query with a 50 GB CSV file but my GPU Memory is of only 40GB. How can I do the processing?
Also I am only able to run blazingsql with the jupyter notebook available with their docker image, can anyone please help me how to install it locally?
As it is not being possible with the conda command available on their github.
One way to do this today is to use Dask-SQL. Because it's built on Dask, Dask-SQL inherits Dask's ability to handle larger-than-memory workloads.
The easiest way to install Dask-SQL and use GPUs is to create a conda environment or pull a Docker container using the RAPIDS release selector.

Container Optimized System performance

I am doing some load tests and according to my observations seems the cos-stable machine underperforms a normal linux machine.
I have started up the cos-stable machine with a container running node-alpine linux with a js application and execute a load test, then I did the same using an ubuntu machine, installing the node on it to run the same js application.
Both OS' were using the same resources, n1 machines with 2vcpu, 8Gram and 10G SSD disk.
Does anyone have information about how to tune the cos-stable container to have the same performance as I had in the ubuntu machine?
Thanks.
well according to the comment of this user in the docker forum
I have to agree with the others, I always use official images if I can and I always select the Alpine version if available. Why use Alpine? Two reasons:
Much small images. Ubuntu is 188MB alone. Then you add your app on top
of that probably exceeding 200MB. Alpine Linux is only 4MB! After
adding my Python runtime and code most of my images are only 52MB.
Compare that will almost 200MB of Ubuntu. Smaller images are smaller
upload/download and take up less disk space.
In adding to that, if you are running the same application in both machines with different OS you have to consider pros and cons of using that OS
if you want to customize your Container Optimized OS VM creation you can follow the instructions in this link
I hope this information can be useful.

Booting a QorIQ PowerPC firmware in Qemu

I have a QorIQ (P2041) processor based IoT device firmware. I have uBoot, Kernel and initrd ramdisk. Whatever I do with qemu-system-ppc I can't get it to work. I suspect that qemu-system-ppc doesn't support QorIQ processors. Is there anyway for me to load and boot this firmware in Qemu or any other emulator?
U-Boot has configuration file qemu-ppce500_defconfig. You should be able to run the U-Boot built with this configuration using command
qemu-system-ppc -nographic -bios u-boot -M ppce500
The CPU can be specified via the -cpu parameter as e500mc.
To run your kernel it will need drivers for the hardware provided by the emulated machine like the E1000 network card and the NS16550 console.
Use the fdt command of U-Boot to get an overview of the available devices in the emulated machine.
Firmware binaries are generally very closely tied to the hardware they're built to run on -- they make assumptions about what hardware is available, what addresses in memory it can be found at, and so on. You need to use a firmware blob that corresponds to the hardware you're asking QEMU to emulate. Since QEMU doesn't emulate whatever your random IoT device is, you need to use a u-boot which matches the hardware QEMU actually has (as for example suggested in Xypron's answer).
Once you have booting firmware, you will likely still find you have exactly the same problem with the kernel -- it is built to run on one bit of hardware, and you're trying to run it on something different, and this simply won't work.

freebsd open source kernel

I am beginner. I want install freebsd on VM and test open source world! I want to write a small function and to put it into kernel of OS, and then I want to use it in another program as a system function.
I just installed freebsd11 on VM. I know a command line environment! I should use a GUI? Where is kernel?
FreeBSD is a wonderful beast once you know all its capabilities, if you want to play with jails, ZFS and build your own kernels, probably this already build image can be a good starting point:
https://fabrik.red/post/test/ more info can be found here including scripts about how to create your own images/jails (custom kernel): https://github.com/fabrik-red/images
There is no GUI on the images, and maybe you will never need one, unless you want to use FreeBSD as a desktop, but FreeBSD shines more on headless systems (no GUI).
Update:
For GUI probably you can give a try to trueos.org or you can install your own Xorg, desk environments
Sounds like you should learn a bit more about what the operating system does before trying to modify the kernel. There are lots of resources about the unix kernels. See the developers handbook, https://www.freebsd.org/doc/en/books/developers-handbook/ or just google and you will find many resources.

does kvm or qemu have out of order execution?

Does kvm have out of order execution feature? if not can we implement to increase virtual machine performance or underlying processor will take care of it.
If the question is whether QEMU-KVM emulate OOO, then no they don't. QEMU can emulate an instruction set architecture (so you could run ARM code on x86, for example) but not at the level of instruction re-ordering. And it probably would only add extra overhead to do this in software.
On the other hand, if you run native code inside a VM (x86 binary on x86, but virtualized), then all unprivileged instructions are executed exactly as they would on a bare-metal. So if your CPU can execute out-of-order it will do so also for the code of your VM. The way the privileged processor instructions are executed depends on whether you are using KVM module alongside the QEMU. You can read more about this here or in more details here.
If you think your QEMU is too slow, check whether the KVM module is used: append the command line with by supplying the -enable-kvm argument. Also make sure your processor has virtualization support.
Also check this answer