所以我会尽力解释我的问题。目前,我正在进行一项规模相当可观的计划。然而,正如350所说,我从未使用过这么多线程。它目前给了我一个内存不足的错误,但我已经尝试了多种选择:
下面列出了内存溢出问题的错误。
java.lang.OutOfMemoryError: unable to create native thread: possibly out of memory or process/resource limits reached
at java.base/java.lang.Thread.start0(Native Method)
at java.base/java.lang.Thread.start(Thread.java:804)
at okhttp3.internal.http2.Http2Connection.start(Http2Connection.java:515)
at okhttp3.internal.http2.Http2Connection.start(Http2Connection.java:499)
at okhttp3.internal.connection.RealConnection.startHttp2(RealConnection.java:299)
at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:288)
at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:169)
at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:257)
at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:135)
at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:114)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:94)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:125)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:264)
at okhttp3.RealCall.execute(RealCall.java:93)
at net.dv8tion.jda.internal.requests.Requester.execute(Requester.java:200)
at net.dv8tion.jda.internal.requests.Requester.execute(Requester.java:140)
at net.dv8tion.jda.internal.requests.Requester.execute(Requester.java:123)
at net.dv8tion.jda.internal.requests.ratelimit.BotRateLimiter$Bucket.run(BotRateLimiter.java:468)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
[111,061s][warning][os,thread] Failed to start thread - pthread_create failed (EAGAIN) for attributes: stacksize: 1024k, guardsize: 0k, detached.
Exception in thread "Thread-365" java.lang.OutOfMemoryError: unable to create native thread: possibly out of memory or process/resource limits reached
at java.base/java.lang.Thread.start0(Native Method)
at java.base/java.lang.Thread.start(Thread.java:804)
at java.base/java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:937)
at java.base/java.util.concurrent.ThreadPoolExecutor.ensurePrestart(ThreadPoolExecutor.java:1583)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:346)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:562)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor.execute(ScheduledThreadPoolExecutor.java:705)
at okhttp3.internal.http2.Http2Connection$ReaderRunnable.applyAndAckSettings(Http2Connection.java:738)
at okhttp3.internal.http2.Http2Connection$ReaderRunnable.settings(Http2Connection.java:710)
at okhttp3.internal.http2.Http2Reader.readSettings(Http2Reader.java:289)
at okhttp3.internal.http2.Http2Reader.nextFrame(Http2Reader.java:141)
at okhttp3.internal.http2.Http2Reader.readConnectionPreface(Http2Reader.java:80)
at okhttp3.internal.http2.Http2Connection$ReaderRunnable.execute(Http2Connection.java:607)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.base/java.lang.Thread.run(Thread.java:835)
当我发现无论我做什么,线程堆栈大小总是看起来是1024。
我目前从具有以下规格的VPS运行此. jar文件:
我的问题是,有没有办法编辑这个线程堆栈大小?
另一个单独的问题:每当我使用-Xss2g时,它确实会显示它超出了限制,但是有没有办法编辑这个限制?
我实际上设法弄清楚了。
我托管的提供商将我可以同时运行的线程数量限制为1300个线程。因为他们有固定的数量,所以我的线程一直遇到问题,错误也显示在问题中。
因为他们锁定了这个金额,我的选择受到限制,所以我决定换一个提供商。
您可以尝试配置JDA并更改默认值以减少内存占用。确保您也使用最新版本的JDA(目前为4.2.0_252)。
阅读常见问题解答:如何减少机器人的内存占用?
我使用repl。它让我的不和机器人。我使用Python并遵循本教程: https://www.youtube.com/watch?v=SPTfmiYiuok 这是我的代码:
我已经创建了一个bot,它现在在我的discord服务器中,使用下面的代码。 我的问题是,一旦我在与bot不和谐的聊天中,我如何调用命令让bot运行代码,为用户列表收集csv?我不确定如何调用机器人,一旦它在聊天/服务器中获得列表。
我做了很多关于如何阻止一个频道使用命令的研究,比如Rythm的黑名单,但是我没有找到,有人能帮我吗?
我正在尝试制作一个Python Discord机器人,它首先可以删除通道中的消息。我希望它是以《终结者3》为主题的,这样它会由用户说天网开始,然后机器人要求激活Y或N?当用户输入Y时,它会删除频道中的所有消息,如果用户输入N,它会说审判日不可避免。任何帮助都将不胜感激。
您好,我尝试使用HttpsConnection从不和谐服务器获取响应,但服务器响应错误403,我不知道为什么,我在上面的JDK 13中尝试了这段代码并且有效,但我需要JDK 8,但在这个版本上由于某种原因它不起作用。 错误: 线程“main”java.io.IOException中的异常:服务器返回HTTP响应代码:403用于URL:https://discord.com/api/v9/users
我目前正在编写一个discord bot反应角色命令。 一切都很顺利,但我有一个问题。 当我启动机器人并运行创建嵌入的命令时,一切都很好。问题是当我对信息做出反应时,它并没有给我这个角色。这是我的代码: