Comments (7)
Not really and that is the beauty of it.
You probably can detect migration by comparing MAC addresses and information from the system, but a checkpoint should not really be detectable.
Before the time namespace existed we have seen that database detect migration by reading clock monotonic and if it jumps it aborts. You could also read the local clock monotonic and if it jumps too much you could say it might be checkpointed, but I doubt that this works reliably.
If you want to signal your process that it was checkpointed you could send a signal using an action script.
I think it is really difficult to detect.
Maybe someone else has additional information.
from criu.
Not really and that is the beauty of it.
You probably can detect migration by comparing MAC addresses and information from the system, but a checkpoint should not really be detectable.
Before the time namespace existed we have seen that database detect migration by reading clock monotonic and if it jumps it aborts. You could also read the local clock monotonic and if it jumps too much you could say it might be checkpointed, but I doubt that this works reliably.
If you want to signal your process that it was checkpointed you could send a signal using an action script.
I think it is really difficult to detect.
Maybe someone else has additional information.
Could you let me know how criu stop the process before dumping it
from criu.
Could you let me know how criu stop the process before dumping it
This is something which documented quite well. Either ptrace or cgroup freezer.
from criu.
Why are you asking this question? If you would tell us what your goal is we could maybe help you better.
from criu.
Why are you asking this question? If you would tell us what your goal is we could maybe help you better.
Thank you very much.
I am trying to migrate GPU APP with criu, so I need to dump GPU resource after criu freeze it and before criu dumpe it.
If I can get the signal of freezing, I can store all GPU resources before dumping.
from criu.
Why are you asking this question? If you would tell us what your goal is we could maybe help you better.
Thank you very much. I am trying to migrate GPU APP with criu, so I need to dump GPU resource after criu freeze it and before criu dumpe it. If I can get the signal of freezing, I can store all GPU resources before dumping.
Okay, if you control your application you can just use CRIU's action-scripts to send a signal (man 7 signal
) for example. Once your applications receives your custom signal you can handle the GPU resources and once that is done CRIU can dump the non-GPU part of the process. Or you could create a file somewhere and if that file exists you can do something in you application. Or open a socket. If you control your application it should be easy to do.
from criu.
Got it. Good idea. Thank you very much again!
from criu.
Related Issues (20)
- [question about criu] Will it work on steam deck? HOT 2
- CRIU dumps triggers COW on all memory in all child processes HOT 18
- ERR: vdso01.c:378: Delta is too big HOT 2
- docker checkpoint create failed: Error (compel/src/lib/ptrace.c:27): suspending seccomp failed: Operation not permitted HOT 2
- Checkpointing runC container is giving error: Unable to connect a transport socket: Permission denied HOT 5
- How to make parasite code support glibc? HOT 5
- How disable plugin for nvidia gpu HOT 2
- How to use CRIU with CUDA HOT 2
- Cannot dump process that opened file in tracefs HOT 4
- Cannot checkpoint container: /usr/bin/nvidia-container-runtime did not terminate successfully: exit status 1 HOT 14
- gcc format-truncation warnings on Ubuntu 24.04 HOT 7
- Question: Lazy restore tends to restore all pages rather than those pages that really touched ? HOT 9
- Can't get reg-files.img by dump. HOT 7
- Following the `setcap` instruction raises 'fatal error: Invalid argument' HOT 6
- Can CRIU use arm based runners from Actuated? HOT 1
- CRIU package for Ubuntu 24.04 HOT 9
- "Fedora ASAN Test / build" fails with "cgroup.clone_children: No such file or directory"
- "Cirrus CI / Vagrant Fedora Rawhide based test" fails with error "setenforce: SELinux is disabled" HOT 2
- compel parasite sys_open return -1 always HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from criu.