Comments (7)
hey @guolifu 😄
This line
load program: no space left on device: 174:
seems to indicate that the BPF programs cannot be loaded due to limited resources.
Not sure exactly where the shortage is, pretty sure it's not on disk and the message is misleading.
I tested on three different kernels
Are you using VMs? If yes, how are they configured?
from otel-profiling-agent.
That's weird. The bpf
syscall is documented to return that status code under the following circumstances:
The eBPF program is too large or a map reached the
max_entries limit (maximum number of elements).
All kernel versions that you listed should have a limit of 1M instructions whereas we are trying to stay below 4K instructions (for compat with old kernels), so this is probably not it. At the same time, the map sizes that are being printed in your verbose output also don't look outrageously large.
What architecture is this? How many cores does the machine have? How did you build, make agent
(uses Docker) or just plain make
(uses host LLVM toolchain)?
from otel-profiling-agent.
That's weird. The
bpf
syscall is documented to return that status code under the following circumstances:The eBPF program is too large or a map reached the max_entries limit (maximum number of elements).
All kernel versions that you listed should have a limit of 1M instructions whereas we are trying to stay below 4K instructions (for compat with old kernels), so this is probably not it. At the same time, the map sizes that are being printed in your verbose output also don't look outrageously large.
What architecture is this? How many cores does the machine have? How did you build,
make agent
(uses Docker) or just plainmake
(uses host LLVM toolchain)?
One of them is this
root@ubuntu2204:/opt/github/euspace# uname -a
Linux ubuntu2204 5.15.0-101-generic #111-Ubuntu SMP Tue Mar 5 20:16:58 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
cpu cores : 2
root@ubuntu2204:/opt/github/euspace# ulimit -a
real-time non-blocking time (microseconds, -R) unlimited
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 7373
max locked memory (kbytes, -l) 250420
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 7373
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
make agent (uses Docker)
- make docker-image
- make agent
from otel-profiling-agent.
@guolifu I could reproduce the issue in a fresh Ubuntu22.04 VM.
The work-around is to drop the -bpf-log-level=2
option.
We have to investigate what exactly happens when the log level is set.
from otel-profiling-agent.
@guolifu我可以在新的 Ubuntu22.04 VM 中重现该问题。 解决方法是删除该
-bpf-log-level=2
选项。 我们必须调查设置日志级别时到底会发生什么。
You are right. Setting -bpf-log-level
to either 1 or 2 will cause problems, while 0 will not cause any problems.
It's strange.😂
from otel-profiling-agent.
You have to set the -bpf-log-size
values high enough (possibly depends on kernel version).
Works here on 6.7.9-amd64:
-bpf-log-level=1 -bpf-log-size=524288
and
-bpf-log-level=2 -bpf-log-size=8388608
from otel-profiling-agent.
You have to set the
-bpf-log-size
values high enough (possibly depends on kernel version).Works here on 6.7.9-amd64:
-bpf-log-level=1 -bpf-log-size=524288
and-bpf-log-level=2 -bpf-log-size=8388608
Your help was very much appreciated,I'll give it a try👍
from otel-profiling-agent.
Related Issues (17)
- Devfiler macOS viewer doesn't work due to looking for a dylib in a nix store HOT 2
- Failure to compile ebpf on aarch64 HOT 1
- Is there any otel collector version that supports this new feature? HOT 4
- Failure to compile on 3.10.0-693.el7.x86_64 HOT 2
- AppImage run error HOT 12
- Is there an error in Makefile for arm64? HOT 1
- unable to open /proc/sys/kernel/bpf_stats_enabled HOT 2
- Can this agent be used for nginx ? HOT 2
- can't I see the Java call log run in the environment of wsl2 HOT 1
- Ubuntu, sudo make docker-image failed. HOT 27
- java questions HOT 1
- Linked binary in dev-filer does not work on Mac (m1) HOT 1
- load program: argument list too long HOT 1
- [Feature Request]A copy-to-clipboard button for the download link of the agent
- Reading incorrect java version HOT 2
- Possibility of integrating otel-profiling-agent as a library HOT 1
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 otel-profiling-agent.